Re: [PATCH] mm: call cond_resched() per MAX_ORDER_NR_PAGES pages copy

From: Naoya Horiguchi
Date: Mon Nov 18 2013 - 19:34:44 EST


On Mon, Nov 18, 2013 at 02:29:24PM -0800, Dave Hansen wrote:
> On 11/18/2013 01:56 PM, Naoya Horiguchi wrote:
> >> > Why bother trying to "optimize" it?
> > I thought that if we call cond_resched() too often, the copying thread can
> > take too long in a heavy load system, because the copying thread always
> > yields the CPU in every loop.
>
> I think you're confusing cond_resched() and yield(). The way I look at it:
>
> yield() means: "Hey scheduler, go right now and run something else I'm
> done running"
>
> cond_resched() means: "Schedule me off if the scheduler has already
> decided something else _should_ be running"
>
> I'm sure I'm missing some of the subtleties, but as I see it, yield()
> actively goes off and finds something else to run. cond_resched() only
> schedules you off if you've *already* run too long.

I see.
Thanks for the explanation!

Naoya
--
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/