[PATCH] VM dirty page balancing
- The balance_dirty_pages() logic is simply wrong. It goes: if (value > threshold) go_and_write(value - threshold); which is just fine for a single process writing data. But for many processes, they *all* go and bring things back into balance, and too much data gets written out. - The go_and_write(this much) logic is inoperative, because I turned off the ->writeback_mapping() function in ext2. So a call to writeback_unlocked_inodes(this_much) doesn't actually decrement and test *this_much. It will walk every inode, all the time. Silly. So quickly fixing the above things, the amount of dirty+writeback memory in the machine nicely stabilises at 500 megabytes across the run.
Showing
Please register or sign in to comment