On 03/08/2013 04:26 PM, Mike Galbraith wrote: > On Fri, 2013-03-08 at 15:30 +0800, Michael Wang wrote: >> On 03/08/2013 02:44 PM, Mike Galbraith wrote: > >>> In general, I think things would work better if we'd just rate limit how >>> frequently we can wakeup migrate each individual task. >> >> Isn't the wakeup buddy already limit the rate? and by turning the knob, >> we could change the rate on our demand. > > I was referring to the existing kernel, not as altered. > >> We want >>> jabbering tasks to share L3, but we don't really want to trash L2 at an >>> awesome rate. >> >> I don't get it..., it's a task which has 'sleep' for some time, unless >> there is no task running on prev_cpu when it's sleeping, otherwise >> whatever the new cpu is, we will trash L2, isn't it? > > I'm thinking if you wake it to it's old home after a microscopic sleep, > it has a good chance of evicting the current resident, rescuing its L2. > If tasks which do microscopic sleep can't move around at a high rate, > they'll poke holes in fewer preempt victims. If they're _really_ fast > switchers, always wake affine. They can't hurt much, they don't do much > other than schedule off.
I get your point, it's about the task which sleep frequently for a very short time, you are right, keep them around prev_cpu could gain some benefit. There are still many factors need to be considered, for example, if the cpu around prev_cpu are busier than those around curr_cpu, then pull from prev to curr still likely to be a good choice...for the consider of future. Also for sure, that depends on what's the workload in the system, and how they cooperate with each other. IMHO, I think wakeup buddy is a compromising solution for this case, before we could figure out the correct formular (and a efficient way to collect all the info we rely on), such a flexible optimization is not bad. Regards, Michael Wang > > -Mike > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/