[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20111201230359.306c4c17.akpm@linux-foundation.org>
Date: Thu, 1 Dec 2011 23:03:59 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Wu Fengguang <fengguang.wu@...el.com>
Cc: Matthew Wilcox <matthew@....cx>, Jan Kara <jack@...e.cz>,
LKML <linux-kernel@...r.kernel.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
"Theodore Ts'o" <tytso@....edu>,
Christoph Hellwig <hch@...radead.org>
Subject: Re: [PATCH] writeback: permit through good bdi even when global
dirty exceeded
On Fri, 2 Dec 2011 14:36:03 +0800 Wu Fengguang <fengguang.wu@...el.com> wrote:
> --- linux-next.orig/mm/page-writeback.c 2011-12-02 10:16:21.000000000 +0800
> +++ linux-next/mm/page-writeback.c 2011-12-02 14:28:44.000000000 +0800
> @@ -1182,6 +1182,14 @@ pause:
> if (task_ratelimit)
> break;
>
> + /*
> + * In the case of an unresponding NFS server and the NFS dirty
> + * pages exceeds dirty_thresh, give the other good bdi's a pipe
> + * to go through, so that tasks on them still remain responsive.
> + */
> + if (bdi_dirty < 8)
> + break;
What happens if the local disk has nine dirty pages?
Also: please, no more magic numbers. We have too many in there already.
What to do instead? Perhaps arrange for devices which can block in
this fashion to be identified as such in their backing_device and then
prevent the kernel from ever permitting such devices to fully consume
the dirty-page pool.
If someone later comes along and decreases the dirty limits mid-flight,
I guess the same problem occurs. This can perhaps be handled by not
permitting to limit to be set that low at that time.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists