Re: pdflush eating a lot of CPU on heavy NFS I/O

From: Andrew Morton
Date: Wed Apr 28 2004 - 23:43:51 EST


Trond Myklebust <trond.myklebust@xxxxxxxxxx> wrote:
>
> On Wed, 2004-04-28 at 23:55, Brent Cook wrote:
>
> > ozma:/home /home nfs rw,v3,rsize=8192,wsize=8192,hard,udp,lock,addr=ozma 0 0
>
> OK, then it's not the case that it is doing synchronous I/O.
>
> I see that we're failing to set wbc->encountered_congestion in the case
> where a nonblocking writeback is forced to exit due to congestion. Could
> that be causing pdflush to loop Andrew?

It should be OK - after writepages completes the inode-level writeback code
will inspect BDI_write_congested and will propagate that into the
writeback_control for the top-level writeback code to ponder.

The pdflush silliness has been seen on smbfs and reiserfs too, so...

It looks like the problem is that the inode is stuck on the superblock's
s_io list, and we keep calling writepage(s) and writepage(s) keeps on
redirtying the page rather than writing it. If so, moving the page off
s_io should fix it up.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/