summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2003-02-03 17:01:50 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2003-02-03 17:01:50 -0800
commitb345e6d2a8865bc2c42bb5b186ff700a8723993e (patch)
tree72d2fbfee5c7713e1e0bd906ae37194059621410 /include/linux
parentb21e69ae5883dfbadef5f87373a17d57a5e016e7 (diff)
[PATCH] Fix latencies during writeback
When a throttled writer is performing writeback, and it encounters an inode which is already under writeback it is forced to wait on the inode. So that process sleeps until whoever is writing it out finishes the writeout. Which is OK - we want to throttle that process, and another process is currently pumping data at the disk anyway. But in one situations the delays are excessive. If one process is performing a huge linear write, other processes end up waiting for a very long time indeed. It appears that this is because the writing process just keeps on hogging the CPU, returning to userspace, generating more dirty data, writing it out, sleeping in get_request_wait, etc. All other throttled dirtiers get starved. So just remove the wait altogether if it is just a memory-cleansing writeout. The calling process will then throttle in balance_dirty_pages()'s call to blk_congestion_wait().
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions