Re: [Patch] Call cond_resched() at bottom of main look in balance_pgdat()
From: Andrew Morton
Date: Mon Jun 28 2010 - 15:12:07 EST
On Wed, 23 Jun 2010 08:07:34 +0900
Minchan Kim <minchan.kim@xxxxxxxxx> wrote:
> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> Reviewed-by: Minchan Kim <minchan.kim@xxxxxxxxx>
> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx>
> Reviewed-by: KOSAKI Motohiro<kosaki.motohiro@xxxxxxxxxxxxxx>
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?
--
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/