Messages in this thread | | | From | Roland McGrath <> | Subject | Re: + do_wait-wakeup-optimization.patch added to -mm tree | Date | Thu, 4 Dec 2008 12:59:42 -0800 (PST) |
| |
> > I don't see an exposed __wake_up* variant that both passes a "key" pointer > > through and does "sync". For __wake_up_parent, "sync" is quite desireable. > > Well, yes... and __wake_up_common() is static. Perhaps we can make a new > helper.
Right, that's what I was suggesting (and not volunteering to do ;-).
> I must admit, I don't understand what "sync" actually means nowadays.
I don't claim to know any actual scheduler innards. But the meaning as I understand it is to "make it runnable, but don't try to reschedule right now because current will block quite soon anyway. If this does indeed reduce work done to immediately reschedule, then it seems quite desireable to avoid that flutter since the dying/stopping thread is very few cycles away from yielding, and in the death case it will be for the last time and rescheduling earlier just means a later unnecessary switch back and delayed put_task_struct processing after the reap.
Thanks, Roland
| |