[ltt-dev] [PATCH] Fix dirty page accounting in redirty_page_for_writepage()

Linus Torvalds torvalds at linux-foundation.org
Wed Apr 29 20:06:28 EDT 2009



On Wed, 29 Apr 2009, Mathieu Desnoyers wrote:
>
> This patch adds missing dirty page accounting in redirty_page_for_writepage().
> This should fix a _lot_ of issues involving machines becoming slow under heavy
> write I/O. No surprise : eventually the system starts swapping.

That patch (and description) is odd.

The patch actually adds the dirty page accounting not to 
redirty_page_for_writepage(), but to __set_page_dirty_nobuffers().

And __set_page_dirty_nobuffers() will later (just a few lines down) call 
down to account_page_dirtied(), which in turn does all that 
same accounting (assuming the "mapping" is marked to account for dirty.

So the description seems to be wrong, but so does the patch. 

Did you attach the wrong patch (explaining both problems)?

Or if the patch is what you really meant to do, then you need to fix your 
explanation, and also explain why the double-dirty accounting is a good 
idea.

Or is the real problem perhaps that your /tmp is ramdisk, and not marked 
to do dirty accounting?

		Linus




More information about the lttng-dev mailing list