Re: [PATCH] Fix dirty page accounting in redirty_page_for_writepage()

Linus Torvalds
2009-04-30T00:10:33Z

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