1. 20 12月, 2011 1 次提交
  2. 17 12月, 2011 11 次提交
  3. 22 11月, 2011 7 次提交
  4. 17 11月, 2011 5 次提交
  5. 01 11月, 2011 2 次提交
  6. 20 10月, 2011 6 次提交
  7. 17 10月, 2011 1 次提交
  8. 15 10月, 2011 1 次提交
    • D
      xen: Fix selfballooning and ensure it doesn't go too far · 38a1ed4f
      Dan Magenheimer 提交于
      The balloon driver's "current_pages" is very different from
      totalram_pages.  Self-ballooning needs to be driven by
      the latter.  Also, Committed_AS doesn't account for pages
      used by the kernel so:
      1) Add totalreserve_pages to Committed_AS for the normal target.
      2) Enforce a floor for when there are little or no user-space threads
         using memory (e.g. single-user mode) to avoid OOMs.  The floor
         function includes a "min_usable_mb" tuneable in case we discover
         later that the floor function is still too aggressive in some
         workloads, though likely it will not be needed.
      
      Changes since version 4:
      - change floor calculation so that it is not as aggressive; this version
        uses a piecewise linear function similar to minimum_target in the 2.6.18
        balloon driver, but modified to add to totalreserve_pages instead of
        subtract from max_pfn, the 2.6.18 version causes OOMs on recent kernels
        because the kernel has expanded over time
      - change safety_margin to min_usable_mb and comment on its use
      - since committed_as does NOT include kernel space (and other reserved
        pages), totalreserve_pages is now added to committed_as.  The result is
        less aggressive self-ballooning, but theoretically more appropriate.
      Changes since version 3:
      - missing include causes compile problem when CONFIG_FRONTSWAP is disabled
      - add comments after includes
      Changes since version 2:
      - missing include causes compile problem only on 32-bit
      Changes since version 1:
      - tuneable safety margin added
      
      [v5: avi.miller@oracle.com: still too aggressive, seeing some OOMs]
      [v4: konrad.wilk@oracle.com: fix compile when CONFIG_FRONTSWAP is disabled]
      [v3: guru.anbalagane@oracle.com: fix 32-bit compile]
      [v2: konrad.wilk@oracle.com: make safety margin tuneable]
      Signed-off-by: NDan Magenheimer <dan.magenheimer@oracle.com>
      [v1: Altered description and added an extra include]
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      38a1ed4f
  9. 14 10月, 2011 3 次提交
    • D
      xen/gntdev: Fix sleep-inside-spinlock · 1f1503ba
      Daniel De Graaf 提交于
      BUG: sleeping function called from invalid context at /local/scratch/dariof/linux/kernel/mutex.c:271
      in_atomic(): 1, irqs_disabled(): 0, pid: 3256, name: qemu-dm
      1 lock held by qemu-dm/3256:
       #0:  (&(&priv->lock)->rlock){......}, at: [<ffffffff813223da>] gntdev_ioctl+0x2bd/0x4d5
      Pid: 3256, comm: qemu-dm Tainted: G        W   3.1.0-rc8+ #5
      Call Trace:
       [<ffffffff81054594>] __might_sleep+0x131/0x135
       [<ffffffff816bd64f>] mutex_lock_nested+0x25/0x45
       [<ffffffff8131c7c8>] free_xenballooned_pages+0x20/0xb1
       [<ffffffff8132194d>] gntdev_put_map+0xa8/0xdb
       [<ffffffff816be546>] ? _raw_spin_lock+0x71/0x7a
       [<ffffffff813223da>] ? gntdev_ioctl+0x2bd/0x4d5
       [<ffffffff8132243c>] gntdev_ioctl+0x31f/0x4d5
       [<ffffffff81007d62>] ? check_events+0x12/0x20
       [<ffffffff811433bc>] do_vfs_ioctl+0x488/0x4d7
       [<ffffffff81007d4f>] ? xen_restore_fl_direct_reloc+0x4/0x4
       [<ffffffff8109168b>] ? lock_release+0x21c/0x229
       [<ffffffff81135cdd>] ? rcu_read_unlock+0x21/0x32
       [<ffffffff81143452>] sys_ioctl+0x47/0x6a
       [<ffffffff816bfd82>] system_call_fastpath+0x16/0x1b
      
      gntdev_put_map tries to acquire a mutex when freeing pages back to the
      xenballoon pool, so it cannot be called with a spinlock held. In
      gntdev_release, the spinlock is not needed as we are freeing the
      structure later; in the ioctl, only the list manipulation needs to be
      under the lock.
      Reported-and-Tested-By: NDario Faggioli <dario.faggioli@citrix.com>
      Signed-off-by: NDaniel De Graaf <dgdegra@tycho.nsa.gov>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      1f1503ba
    • D
      xenbus: don't rely on xen_initial_domain to detect local xenstore · e4184aaf
      Daniel De Graaf 提交于
      The xenstore daemon does not have to run in the xen initial domain;
      however, Linux currently uses xen_initial_domain to test if a loopback
      event channel should be used instead of the event channel provided in
      Xen's start_info structure. Instead, if the event channel passed in the
      start_info structure is not valid, assume that this domain will run
      xenstored locally and set up the event channel.
      Signed-off-by: NDaniel De Graaf <dgdegra@tycho.nsa.gov>
      Reviewed-by: NIan Campbell <Ian.Campbell@citrix.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      e4184aaf
    • D
      xenbus: Fix loopback event channel assuming domain 0 · 77447991
      Daniel De Graaf 提交于
      The xenbus event channel established in xenbus_init is intended to be a
      loopback channel, but the remote domain was hardcoded to 0; this will
      cause the channel to be unusable when xenstore is not being run in
      domain 0.
      Signed-off-by: NDaniel De Graaf <dgdegra@tycho.nsa.gov>
      Reviewed-by: NIan Campbell <Ian.Campbell@citrix.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      77447991
  10. 30 9月, 2011 1 次提交
  11. 29 9月, 2011 2 次提交