Messages in this thread | | | From | "Chen, Kenneth W" <> | Subject | RE: [PATCH RFC] smt nice introduces significant lock contention | Date | Fri, 2 Jun 2006 13:59:21 -0700 |
| |
Con Kolivas wrote on Friday, June 02, 2006 3:19 AM > On Friday 02 June 2006 18:28, Nick Piggin wrote: > > Con Kolivas wrote: > > > On Friday 02 June 2006 17:53, Nick Piggin wrote: > > >>This is a small micro-optimisation / cleanup we can do after > > >>smtnice gets converted to use trylocks. Might result in a little > > >>less cacheline footprint in some cases. > > > > > > It's only dependent_sleeper that is being converted in these patches. The > > > wake_sleeping_dependent component still locks all runqueues and needs to > > > > Oh I missed that. > > > > > succeed in order to ensure a task doesn't keep sleeping indefinitely. > > > That > > > > Let's make it use trylocks as well. wake_priority_sleeper should ensure > > things don't sleep forever I think? We should be optimising for the most > > common case, and in many workloads, the runqueue does go idle frequently. > > wake_priority_sleeper is only called per tick which can be 10ms at 100HZ. I > don't think that's fast enough. It could even be possible for a lower > priority task to always just miss the wakeup if it's (very) unlucky.
I see inconsistency here: in dependent_sleeper() function, you argued dearly that it is important to be bully for the high priority task to kick off low priority task on the sibling CPU. Here you are arguing dearly to put the delayed low priority sleeper back onto the CPU as early as possible (and it would possibly competing with the other high priority task). Having such biased opposite treatment in different path doesn't look correct to me.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |