[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 6 May 2008 07:23:18 +0900
From: "KOSAKI Motohiro" <kosaki.motohiro@...fujitsu.com>
To: "Rik van Riel" <riel@...hat.com>
Cc: LKML <linux-kernel@...r.kernel.org>, linux-mm <linux-mm@...ck.org>,
"Andrew Morton" <akpm@...ux-foundation.org>
Subject: Re: [-mm][PATCH 4/5] core of reclaim throttle
> > + throttle_on = 1;
> > + current->flags |= PF_RECLAIMING;
> > + wait_event(zone->reclaim_throttle_waitq,
> > + atomic_add_unless(&zone->nr_reclaimers, 1, MAX_RECLAIM_TASKS));
>
> This is a problem. Processes without __GFP_FS or __GFP_IO cannot wait on
> processes that have those flags set in their gfp_mask, and tasks that do
> not have __GFP_IO set cannot wait for tasks with it. This is because the
> tasks that have those flags set may grab locks that the tasks without the
> flag are holding, causing a deadlock.
hmmm, AFAIK,
on current kernel, sometimes __GFP_IO task wait for non __GFP_IO task
by lock_page().
Is this wrong?
therefore my patch care only recursive reclaim situation.
I don't object to your opinion. but I hope understand exactly your opinion.
> The easiest fix would be to only make tasks with both __GFP_FS and __GFP_IO
> sleep. Tasks that call try_to_free_pages without those flags are relatively
> rare and should hopefully not cause any issues.
Agreed it's easy.
--
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