1. 10 12月, 2007 2 次提交
  2. 17 10月, 2007 2 次提交
    • J
      [XFS] eagerly remove vmap mappings to avoid upsetting Xen · 7f015072
      Jeremy Fitzhardinge 提交于
      XFS leaves stray mappings around when it vmaps memory to make it virtually
      contigious. This upsets Xen if one of those pages is being recycled into a
      pagetable, since it finds an extra writable mapping of the page.
      
      This patch solves the problem in a brute force way, by making XFS always
      eagerly unmap its mappings.
      
      SGI-PV: 971902
      SGI-Modid: xfs-linux-melb:xfs-kern:29886a
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      7f015072
    • J
      xfs: eagerly remove vmap mappings to avoid upsetting Xen · ace2e92e
      Jeremy Fitzhardinge 提交于
      XFS leaves stray mappings around when it vmaps memory to make it
      virtually contigious.  This upsets Xen if one of those pages is being
      recycled into a pagetable, since it finds an extra writable mapping of
      the page.
      
      This patch solves the problem in a brute force way, by making XFS
      always eagerly unmap its mappings.  David Chinner says this shouldn't
      have any performance impact on filesystems with default block sizes;
      it will only affect filesystems with large block sizes.
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Acked-by: NDavid Chinner <dgc@sgi.com>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Cc: XFS masters <xfs-masters@oss.sgi.com>
      Cc: Stable kernel <stable@kernel.org>
      Cc: Morten =?utf-8?q?B=C3=B8geskov?= <xen-users@morten.bogeskov.dk>
      Cc: Mark Williamson <mark.williamson@cl.cam.ac.uk>
      ace2e92e
  3. 15 10月, 2007 1 次提交
  4. 12 10月, 2007 1 次提交
  5. 10 10月, 2007 1 次提交
  6. 18 7月, 2007 1 次提交
  7. 14 7月, 2007 4 次提交
  8. 08 5月, 2007 1 次提交
  9. 23 3月, 2007 1 次提交
  10. 10 2月, 2007 3 次提交
    • D
      [XFS] Keep stack usage down for 4k stacks by using noinline. · 7989cb8e
      David Chinner 提交于
      gcc-4.1 and more recent aggressively inline static functions which
      increases XFS stack usage by ~15% in critical paths. Prevent this from
      occurring by adding noinline to the STATIC definition.
      
      Also uninline some functions that are too large to be inlined and were
      causing problems with CONFIG_FORCED_INLINING=y.
      
      Finally, clean up all the different users of inline, __inline and
      __inline__ and put them under one STATIC_INLINE macro. For debug kernels
      the STATIC_INLINE macro uninlines those functions.
      
      SGI-PV: 957159
      SGI-Modid: xfs-linux-melb:xfs-kern:27585a
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NDavid Chatterton <chatz@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      7989cb8e
    • D
      [XFS] Current usage of buftarg flags is incorrect. · 5e6a07df
      David Chinner 提交于
      The {test,set,clear}_bit() operations take a bit index for the bit to
      operate on. The XBT_* flags are defined as bit fields which is incorrect,
      not to mention the way the bit fields are enumerated is broken too. This
      was only working by chance.
      
      Fix the definitions of the flags and make the code using them use the
      {test,set,clear}_bit() operations correctly.
      
      SGI-PV: 958639
      SGI-Modid: xfs-linux-melb:xfs-kern:27565a
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      5e6a07df
    • D
      [XFS] Fix a synchronous buftarg flush deadlock when freezing. · 585e6d88
      David Chinner 提交于
      At the last stage of a freeze, we flush the buftarg synchronously over and
      over again until it succeeds twice without skipping any buffers.
      
      The delwri list flush skips pinned buffers, but tries to flush all others.
      It removes the buffers from the delwri list, then tries to lock them one
      at a time as it traverses the list to issue the I/O. It holds them locked
      until we issue all of the I/O and then unlocks them once we've waited for
      it to complete.
      
      The problem is that during a freeze, the filesystem may still be doing
      stuff - like flushing delalloc data buffers - in the background and hence
      we can be trying to lock buffers that were on the delwri list at the same
      time. Hence we can get ABBA deadlocks between threads doing allocation and
      the buftarg flush (freeze) thread.
      
      Fix it by skipping locked (and pinned) buffers as we traverse the delwri
      buffer list.
      
      SGI-PV: 957195
      SGI-Modid: xfs-linux-melb:xfs-kern:27535a
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      585e6d88
  11. 08 12月, 2006 2 次提交
  12. 22 11月, 2006 1 次提交
  13. 11 11月, 2006 1 次提交
  14. 21 10月, 2006 1 次提交
    • A
      [PATCH] separate bdi congestion functions from queue congestion functions · 3fcfab16
      Andrew Morton 提交于
      Separate out the concept of "queue congestion" from "backing-dev congestion".
      Congestion is a backing-dev concept, not a queue concept.
      
      The blk_* congestion functions are retained, as wrappers around the core
      backing-dev congestion functions.
      
      This proper layering is needed so that NFS can cleanly use the congestion
      functions, and so that CONFIG_BLOCK=n actually links.
      
      Cc: "Thomas Maier" <balagi@justmail.de>
      Cc: "Jens Axboe" <jens.axboe@oracle.com>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Peter Osterlund <petero2@telia.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3fcfab16
  15. 28 9月, 2006 4 次提交
  16. 29 6月, 2006 1 次提交
  17. 11 4月, 2006 1 次提交
  18. 22 3月, 2006 1 次提交
    • C
      [PATCH] page migration reorg · b20a3503
      Christoph Lameter 提交于
      Centralize the page migration functions in anticipation of additional
      tinkering.  Creates a new file mm/migrate.c
      
      1. Extract buffer_migrate_page() from fs/buffer.c
      
      2. Extract central migration code from vmscan.c
      
      3. Extract some components from mempolicy.c
      
      4. Export pageout() and remove_from_swap() from vmscan.c
      
      5. Make it possible to configure NUMA systems without page migration
         and non-NUMA systems with page migration.
      
      I had to so some #ifdeffing in mempolicy.c that may need a cleanup.
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b20a3503
  19. 14 3月, 2006 1 次提交
  20. 02 2月, 2006 1 次提交
  21. 01 2月, 2006 1 次提交
  22. 11 1月, 2006 4 次提交
  23. 04 11月, 2005 1 次提交
  24. 02 11月, 2005 3 次提交