Skip to content

writeback: tracing and fixes V4

Dave Chinner linux-fsdevel linux-xfs lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 7 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6writeback: initial tracing supportfs/fs-writeback.c include/trace/events/writeback.h mm/backing-dev.c+209 -100 replies
2/6writeback: Add tracing to balance_dirty_pagesfs/fs-writeback.c include/trace/events/writeback.h mm/page-writeback.c+89 -00 replies
3/6writeback: Add tracing to write_cache_pagesinclude/trace/events/writeback.h mm/page-writeback.c+2 -00 replies
4/6writeback: pay attention to wbc->nr_to_write in write_cache_pagesinclude/linux/writeback.h include/trace/events/ext4.h mm/page-writeback.c+6 -231 reply
5/6xfs: remove nr_to_write writeback windup.fs/xfs/linux-2.6/xfs_aops.c+0 -80 replies
6/6writeback: limit write_cache_pages integrity scanning to current EOFmm/page-writeback.c+15 -02 replies

Reviews trailers per patch

All 6 patches have a Reviewed-by or Acked-by.

PatchChristoph HellwigNick Piggin
1/6R-b
2/6R-b
3/6R-b
4/6R-b A-b
5/6R-b
6/6R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/6] writeback: tracing and fixes V4

Hi Linus,

Can you please consider this patch series for 2.6.35? If you don't want the tracing at this stage of the release process, I can redo the series with just the bug fixes. However, given the regularity with which we break the writeback code in subtle ways, the tracing is probably just as important as the bug fixes.

---

This series contains the initial writeback tracing patches from Jens, as well as the extensions I added to provide visibility into writeback control structures as the are used by the writeback code. The visibility given is sufficient to understand what is happening in the writeback path - what path is writing data, what path is blocking on congestion, etc, and to determine the differences in behaviour for different sync modes and calling contexts. This tracing really needs to be integrated into mainline so that anyone can improve the tracing as they use it to track down problems in our convoluted writeback paths.

The remaining patches are fixes to problems that the new tracing highlighted.

Version 4:
- converted strncpy to strlcpy
- remove stale information from commit message for nr_to_write fixup.

Version 3:
- added comment to tracepoint creation to explain the unusual placement of the tracepoint header file include.
- separated out ->writepage tracepoint addition into it's own patch.
- dropped ext4 write_cache_pages separation as it is now in mainline.
- removed ext4 tracing references to wbc->no_nrwrite_index_update as they weren't removed in mainline.
- fixed commit message for write_cache_pages patch
- added more information to commit message for sync hold-off fixup.

Version 2:
- included ext4 write_cache_pages separation patch from Ted Ts'o.
- moved CREATE_TRACE_POINTS into fs-writeback.c as suggested by Christoph Hellwig.
- moved include of trace/events/writeback.h until after structure definitions in fs-writeback.c
- manually revert changes made to write_cache_pages() in 17bc6c30cf6bfffd816bdc53682dd46fc34a2cf4 that caused the regression. This restores the convention that if the fs writes back more than a single page, it subtracts (nr_written - 1) from wbc->nr_to_write, as suggested by Andrew Morton.
- added patch to prevent sync from looping in write_cache_pages chasing a moving tail when an appending write workload is running concurrently with sync.

---
 fs/fs-writeback.c                |   50 ++++++--
 fs/xfs/linux-2.6/xfs_aops.c      |    8 --
 include/linux/writeback.h        |    9 --
 include/trace/events/ext4.h      |    5 +-
 include/trace/events/writeback.h |  252 ++++++++++++++++++++++++++++++++++++++
 mm/backing-dev.c                 |    3 +
 mm/page-writeback.c              |   35 ++++--
 7 files changed, 321 insertions(+), 41 deletions(-)

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs