1. 16 7月, 2008 23 次提交
  2. 09 7月, 2008 1 次提交
  3. 08 7月, 2008 4 次提交
  4. 26 6月, 2008 1 次提交
  5. 25 6月, 2008 2 次提交
  6. 24 6月, 2008 1 次提交
  7. 20 6月, 2008 3 次提交
  8. 02 6月, 2008 2 次提交
    • J
      xen: restore vcpu_info mapping · 9c7a7942
      Jeremy Fitzhardinge 提交于
      If we're using vcpu_info mapping, then make sure its restored on all
      processors before relasing them from stop_machine.
      
      The only complication is that if this fails, we can't continue because
      we've already made assumptions that the mapping is available (baked in
      calls to the _direct versions of the functions, for example).
      
      Fortunately this can only happen with a 32-bit hypervisor, which may
      possibly run out of mapping space.  On a 64-bit hypervisor, this is a
      non-issue.
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      9c7a7942
    • J
      xen: avoid hypercalls when updating unpinned pud/pmd · e2426cf8
      Jeremy Fitzhardinge 提交于
      When operating on an unpinned pagetable (ie, one under construction or
      destruction), it isn't necessary to use a hypercall to update a
      pud/pmd entry.  Jan Beulich observed that a similar optimisation
      avoided many thousands of hypercalls while doing a kernel build.
      
      One tricky part is that early in the kernel boot there's no page
      structure, so we can't check to see if the page is pinned.  In that
      case, we just always use the hypercall.
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Cc: Jan Beulich <jbeulich@novell.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e2426cf8
  9. 31 5月, 2008 1 次提交
  10. 27 5月, 2008 2 次提交
    • J
      xen: implement save/restore · 0e91398f
      Jeremy Fitzhardinge 提交于
      This patch implements Xen save/restore and migration.
      
      Saving is triggered via xenbus, which is polled in
      drivers/xen/manage.c.  When a suspend request comes in, the kernel
      prepares itself for saving by:
      
      1 - Freeze all processes.  This is primarily to prevent any
          partially-completed pagetable updates from confusing the suspend
          process.  If CONFIG_PREEMPT isn't defined, then this isn't necessary.
      
      2 - Suspend xenbus and other devices
      
      3 - Stop_machine, to make sure all the other vcpus are quiescent.  The
          Xen tools require the domain to run its save off vcpu0.
      
      4 - Within the stop_machine state, it pins any unpinned pgds (under
          construction or destruction), performs canonicalizes various other
          pieces of state (mostly converting mfns to pfns), and finally
      
      5 - Suspend the domain
      
      Restore reverses the steps used to save the domain, ending when all
      the frozen processes are thawed.
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      0e91398f
    • J
      xen: add p2m mfn_list_list · d5edbc1f
      Jeremy Fitzhardinge 提交于
      When saving a domain, the Xen tools need to remap all our mfns to
      portable pfns.  In order to remap our p2m table, it needs to know
      where all its pages are, so maintain the references to the p2m table
      for it to use.
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      d5edbc1f