Messages in this thread |  | | Date | Mon, 18 Nov 2013 19:34:22 -0500 | From | Naoya Horiguchi <> | Subject | Re: [PATCH] mm: call cond_resched() per MAX_ORDER_NR_PAGES pages copy |
| |
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
|  |