[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090923030707.GA26530@localhost>
Date: Wed, 23 Sep 2009 11:07:07 +0800
From: Wu Fengguang <fengguang.wu@...el.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Chris Mason <chris.mason@...cle.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
"Li, Shaohua" <shaohua.li@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"richard@....demon.co.uk" <richard@....demon.co.uk>,
"jens.axboe@...cle.com" <jens.axboe@...cle.com>
Subject: Re: regression in page writeback
On Wed, Sep 23, 2009 at 10:09:15AM +0800, Andrew Morton wrote:
> On Wed, 23 Sep 2009 10:01:04 +0800 Wu Fengguang <fengguang.wu@...el.com> wrote:
>
> > > If there's still outstanding dirty data for any of those queues, both
> > > wb_kupdate() and background_writeout() will take a teeny sleep and then
> > > will re-poll the queues.
> > >
> > > Did that logic get broken?
> >
> > No, but the "teeny sleep" is normally much smaller. When io queue is
> > not congested, every io completion event will wakeup the congestion
> > waiters. Also A's event could wake up B's waiters.
> >
> > __freed_request() always calls blk_clear_queue_congested() if under
> > congestion threshold which in turn wakes up congestion waiters:
> >
> > if (rl->count[sync] < queue_congestion_off_threshold(q))
> > blk_clear_queue_congested(q, sync);
> >
>
> Yes. Have any problems been demonstrated due to that?
Hmm, I was merely clarifying a fact.
Chris Mason listed some reasons to convert the congestion_wait() based
polls to the some queue waiting:
http://lkml.org/lkml/2009/9/8/210
My impression is, it changed obviously too fast without enough discussions.
> And what's _sufficiently_ wrong with that to justify adding potentially
> thousands of kernel threads? It was always a design objective to avoid
> doing that.
Yeah, the number of threads could be a problem.
I guess the per-bdi threads and congestion_wait are mostly two
independent changes. congestion_wait is not the reason to do per-bdi
threads. Just that Jens piggy backed some changes to congestion_wait.
Thanks,
Fengguang
--
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