1. 20 2月, 2009 2 次提交
  2. 19 2月, 2009 2 次提交
  3. 09 1月, 2009 2 次提交
    • N
      [XFS] use scalable vmap API · 0087167c
      Nick Piggin 提交于
      Implement XFS's large buffer support with the new vmap APIs. See the vmap
      rewrite (db64fe02) for some numbers. The biggest improvement that comes from
      using the new APIs is avoiding the global KVA allocation lock on every call.
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Reviewed-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
      0087167c
    • N
      [XFS] remove old vmap cache · 958f8c0e
      Nick Piggin 提交于
      XFS's vmap batching simply defers a number (up to 64) of vunmaps, and keeps
      track of them in a list. To purge the batch, it just goes through the list and
      calls vunamp on each one. This is pretty poor: a global TLB flush is generally
      still performed on each vunmap, with the most expensive parts of the operation
      being the broadcast IPIs and locking involved in the SMP callouts, and the
      locking involved in the vmap management -- none of these are avoided by just
      batching up the calls. I'm actually surprised it ever made much difference.
      (Now that the lazy vmap allocator is upstream, this description is not quite
      right, but the vunmap batching still doesn't seem to do much)
      
      Rip all this logic out of XFS completely. I will improve vmap performance
      and scalability directly in subsequent patch.
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Reviewed-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
      958f8c0e
  4. 06 1月, 2009 2 次提交
    • N
      [XFS] use scalable vmap API · 95f8e302
      Nick Piggin 提交于
      Implement XFS's large buffer support with the new vmap APIs. See the vmap
      rewrite (db64fe02) for some numbers. The biggest improvement that comes from
      using the new APIs is avoiding the global KVA allocation lock on every call.
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Reviewed-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
      95f8e302
    • N
      [XFS] remove old vmap cache · d2859751
      Nick Piggin 提交于
      XFS's vmap batching simply defers a number (up to 64) of vunmaps, and keeps
      track of them in a list. To purge the batch, it just goes through the list and
      calls vunamp on each one. This is pretty poor: a global TLB flush is generally
      still performed on each vunmap, with the most expensive parts of the operation
      being the broadcast IPIs and locking involved in the SMP callouts, and the
      locking involved in the vmap management -- none of these are avoided by just
      batching up the calls. I'm actually surprised it ever made much difference.
      (Now that the lazy vmap allocator is upstream, this description is not quite
      right, but the vunmap batching still doesn't seem to do much)
      
      Rip all this logic out of XFS completely. I will improve vmap performance
      and scalability directly in subsequent patch.
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Reviewed-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
      d2859751
  5. 12 12月, 2008 1 次提交
  6. 11 12月, 2008 1 次提交
  7. 04 12月, 2008 1 次提交
    • C
      kill xfs_buf_iostart · 5d765b97
      Christoph Hellwig 提交于
      xfs_buf_iostart is a "shared" helper for xfs_buf_read_flags,
      xfs_bawrite, and xfs_bdwrite - except that there isn't much shared
      code but rather special cases for each caller.
      
      So remove this function and move the functionality to the caller.
      xfs_bawrite and xfs_bdwrite are now big enough to be moved out of
      line and the xfs_buf_read_flags is moved into a new helper called
      _xfs_buf_read.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NDave Chinner <david@fromorbit.com>
      Signed-off-by: NNiv Sardi <xaiki@sgi.com>
      5d765b97
  8. 11 10月, 2008 1 次提交
  9. 13 8月, 2008 4 次提交
  10. 28 7月, 2008 2 次提交
  11. 23 5月, 2008 1 次提交
  12. 29 4月, 2008 1 次提交
  13. 18 4月, 2008 2 次提交
  14. 07 2月, 2008 4 次提交
  15. 06 2月, 2008 1 次提交
  16. 10 12月, 2007 3 次提交
  17. 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
  18. 15 10月, 2007 1 次提交
  19. 12 10月, 2007 1 次提交
  20. 10 10月, 2007 1 次提交
  21. 18 7月, 2007 1 次提交
  22. 14 7月, 2007 4 次提交