cpuset aware writeback
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest6 patches 28 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | cpuset write dirty mapfs/ fs/ fs/ +5 more | +140 | 0 replies | |
| 1/6 | cpuset write dirty mapfs/ fs/ fs/ +5 more | +140 | 10 replies | |
| 2/6 | cpuset write pdflush nodemaskfs/ fs/ fs/ +4 more | +32 | 0 replies | |
| 2/6 | cpuset write pdflush nodemaskfs/ fs/ fs/ +4 more | +32 | 0 replies | |
| 3/6 | cpuset write throttlemm/ | +105 | 0 replies | |
| 3/6 | cpuset write throttlemm/ | +106 | 11 replies | |
| 4/6 | cpuset write vmscanmm/ | +2 | 0 replies | |
| 4/6 | cpuset write vmscanmm/ | +2 | 0 replies | |
| 5/6 | cpuset write vm writeoutinclude/ mm/ mm/ | +4 | 0 replies | |
| 5/6 | cpuset write vm writeoutinclude/ mm/ mm/ | +4 | 0 replies | |
| 6/6 | cpuset dirty limitsinclude/ kernel/ mm/ | +82 | 0 replies | |
| 6/6 | cpuset dirty limitsinclude/ kernel/ mm/ | +82 | 3 replies |
Reviews trailers per patch
All 12 patches have a Reviewed-by or Acked-by.
| Patch | Ethan Solomita |
|---|---|
| 1/6 | A-b A-b |
| 1/6 | A-b A-b |
| 2/6 | A-b A-b |
| 2/6 | A-b A-b |
| 3/6 | A-b |
| 3/6 | A-b |
| 4/6 | A-b A-b |
| 4/6 | A-b A-b |
| 5/6 | A-b A-b |
| 5/6 | A-b A-b |
| 6/6 | A-b A-b |
| 6/6 | A-b A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/6] cpuset aware writeback
Perform writeback and dirty throttling with awareness of cpuset mem_allowed.
The theory of operation has two primary elements:
1. Add a nodemask per mapping which indicates the nodes which have set PageDirty on any page of the mappings.
2. Add a nodemask argument to wakeup_pdflush() which is propagated down to sync_sb_inodes.
This leaves sync_sb_inodes() with two nodemasks. One is passed to it and specifies the nodes the caller is interested in syncing, and will either be null (i.e. all nodes) or will be cpuset_current_mems_allowed in the caller's context.
The second nodemask is attached to the inode's mapping and shows who has modified data in the inode. sync_sb_inodes() will then skip syncing of inodes if the nodemask argument does not intersect with the mapping nodemask.
cpuset_current_mems_allowed will be passed in to pdflush background_writeout by try_to_free_pages and balance_dirty_pages. balance_dirty_pages also passes the nodemask in to writeback_inodes directly when doing active reclaim.
Other callers do not limit inode writeback, passing in a NULL nodemask pointer.
A final change is to get_dirty_limits. It takes a nodemask argument, and when it is null there is no change in behavior. If the nodemask is set, page statistics are accumulated only for specified nodes, and the background and throttle dirty ratios will be read from a new per-cpuset ratio feature.
These patches are mostly unchanged from Chris Lameter's original changelist posted previously to linux-mm.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>