1. 18 7月, 2022 2 次提交
  2. 06 7月, 2022 1 次提交
  3. 06 12月, 2021 2 次提交
  4. 03 6月, 2020 1 次提交
    • N
      mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead · 8d92890b
      NeilBrown 提交于
      After an NFS page has been written it is considered "unstable" until a
      COMMIT request succeeds.  If the COMMIT fails, the page will be
      re-written.
      
      These "unstable" pages are currently accounted as "reclaimable", either
      in WB_RECLAIMABLE, or in NR_UNSTABLE_NFS which is included in a
      'reclaimable' count.  This might have made sense when sending the COMMIT
      required a separate action by the VFS/MM (e.g.  releasepage() used to
      send a COMMIT).  However now that all writes generated by ->writepages()
      will automatically be followed by a COMMIT (since commit 919e3bd9
      ("NFS: Ensure we commit after writeback is complete")) it makes more
      sense to treat them as writeback pages.
      
      So this patch removes NR_UNSTABLE_NFS and accounts unstable pages in
      NR_WRITEBACK and WB_WRITEBACK.
      
      A particular effect of this change is that when
      wb_check_background_flush() calls wb_over_bg_threshold(), the latter
      will report 'true' a lot less often as the 'unstable' pages are no
      longer considered 'dirty' (as there is nothing that writeback can do
      about them anyway).
      
      Currently wb_check_background_flush() will trigger writeback to NFS even
      when there are relatively few dirty pages (if there are lots of unstable
      pages), this can result in small writes going to the server (10s of
      Kilobytes rather than a Megabyte) which hurts throughput.  With this
      patch, there are fewer writes which are each larger on average.
      
      Where the NR_UNSTABLE_NFS count was included in statistics
      virtual-files, the entry is retained, but the value is hard-coded as
      zero.  static trace points and warning printks which mentioned this
      counter no longer report it.
      
      [akpm@linux-foundation.org: re-layout comment]
      [akpm@linux-foundation.org: fix printk warning]
      Signed-off-by: NNeilBrown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: NJan Kara <jack@suse.cz>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Acked-by: NTrond Myklebust <trond.myklebust@hammerspace.com>
      Acked-by: Michal Hocko <mhocko@suse.com>	[mm]
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Chuck Lever <chuck.lever@oracle.com>
      Link: http://lkml.kernel.org/r/87d06j7gqa.fsf@notabene.neil.brown.nameSigned-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8d92890b
  5. 13 5月, 2020 1 次提交
  6. 02 4月, 2020 4 次提交
  7. 01 4月, 2020 1 次提交
  8. 28 3月, 2020 1 次提交
  9. 26 3月, 2020 1 次提交
  10. 16 3月, 2020 1 次提交
  11. 15 1月, 2020 7 次提交
  12. 02 10月, 2019 1 次提交
    • Z
      nfs: Fix nfsi->nrequests count error on nfs_inode_remove_request · 33ea5aaa
      ZhangXiaoxu 提交于
      When xfstests testing, there are some WARNING as below:
      
      WARNING: CPU: 0 PID: 6235 at fs/nfs/inode.c:122 nfs_clear_inode+0x9c/0xd8
      Modules linked in:
      CPU: 0 PID: 6235 Comm: umount.nfs
      Hardware name: linux,dummy-virt (DT)
      pstate: 60000005 (nZCv daif -PAN -UAO)
      pc : nfs_clear_inode+0x9c/0xd8
      lr : nfs_evict_inode+0x60/0x78
      sp : fffffc000f68fc00
      x29: fffffc000f68fc00 x28: fffffe00c53155c0
      x27: fffffe00c5315000 x26: fffffc0009a63748
      x25: fffffc000f68fd18 x24: fffffc000bfaaf40
      x23: fffffc000936d3c0 x22: fffffe00c4ff5e20
      x21: fffffc000bfaaf40 x20: fffffe00c4ff5d10
      x19: fffffc000c056000 x18: 000000000000003c
      x17: 0000000000000000 x16: 0000000000000000
      x15: 0000000000000040 x14: 0000000000000228
      x13: fffffc000c3a2000 x12: 0000000000000045
      x11: 0000000000000000 x10: 0000000000000000
      x9 : 0000000000000000 x8 : 0000000000000000
      x7 : 0000000000000000 x6 : fffffc00084b027c
      x5 : fffffc0009a64000 x4 : fffffe00c0e77400
      x3 : fffffc000c0563a8 x2 : fffffffffffffffb
      x1 : 000000000000764e x0 : 0000000000000001
      Call trace:
       nfs_clear_inode+0x9c/0xd8
       nfs_evict_inode+0x60/0x78
       evict+0x108/0x380
       dispose_list+0x70/0xa0
       evict_inodes+0x194/0x210
       generic_shutdown_super+0xb0/0x220
       nfs_kill_super+0x40/0x88
       deactivate_locked_super+0xb4/0x120
       deactivate_super+0x144/0x160
       cleanup_mnt+0x98/0x148
       __cleanup_mnt+0x38/0x50
       task_work_run+0x114/0x160
       do_notify_resume+0x2f8/0x308
       work_pending+0x8/0x14
      
      The nrequest should be increased/decreased only if PG_INODE_REF flag
      was setted.
      
      But in the nfs_inode_remove_request function, it maybe decrease when
      no PG_INODE_REF flag, this maybe lead nrequests count error.
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: NZhangXiaoxu <zhangxiaoxu5@huawei.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      33ea5aaa
  13. 27 8月, 2019 3 次提交
  14. 19 8月, 2019 1 次提交
  15. 07 7月, 2019 1 次提交
  16. 21 5月, 2019 1 次提交
  17. 26 4月, 2019 6 次提交
  18. 21 2月, 2019 3 次提交
  19. 13 2月, 2019 1 次提交
  20. 30 1月, 2019 1 次提交