Messages in this thread | | | Date | Mon, 28 Jun 2010 12:10:56 -0700 | From | Andrew Morton <> | Subject | Re: [Patch] Call cond_resched() at bottom of main look in balance_pgdat() |
| |
On Wed, 23 Jun 2010 08:07:34 +0900 Minchan Kim <minchan.kim@gmail.com> wrote:
> Acked-by: Johannes Weiner <hannes@cmpxchg.org> > Reviewed-by: Minchan Kim <minchan.kim@gmail.com> > Reviewed-by: Rik van Riel <riel@redhat.com> > Reviewed-by: KOSAKI Motohiro<kosaki.motohiro@jp.fujitsu.com>
The patch is a bit sucky, isn't it?
a) the cond_resched() which Larry's patch adds is very special. It _looks_ like a random preemption point but it's actually critical to the correct functioning of the system. That's utterly unobvious to anyone who reads the code, so a comment explaining this *must* be included.
b) cond_resched() is a really crappy way of solving the problem which Larry described. It will sit there chewing away CPU time until kswapd's timeslice expires.
I suppose we can live with b) although it _does_ suck and I'd suggest that the comment include a big FIXME, so someone might fix it.
Larry, please fix a), gather the acks and reviewed-by's, update the changelog to identify the commit which broke it and resend?
| |