On Wed, 7 Jan 2009, Gregory Haskins wrote: > Hi Ingo, > > Ingo Molnar wrote: > > * Gregory Haskins <ghaskins@xxxxxxxxxx> wrote: > > > > > >> Can I ask a simple question in light of all this discussion? > >> > >> "Is get_task_struct() really that bad?" > >> > > > > it dirties a cacheline and it also involves atomics. > > > Yes, understood. But we should note we are always going to be talking > about thrashing caches here since we are ultimately having one CPU > observe another. There's no way to get around that. I understand that > there are various degrees of this occurring, and I have no doubt that > the proposed improvements strive to achieve a reduction of that. My > question is really targeted at "at what cost". > > Don't get me wrong. I am not advocating going back to get/put-task per > se. I am simply asking the question of whether we have taken the design > off into the weeds having lost sight of the actual requirements and/or > results. Its starting to smell like we have. This is just a friendly > reality check. Feel free to disregard. ;) What would be interesting is various benchmarks against all three. 1) no mutex spinning. 2) get_task_struct() implementation. 3) spin_or_sched implementation. I believe that 2 happens to be the easiest to understand. No need to know about the behavior of freed objects. If we see no or negligible improvement between 2 and 3 on any benchmark, then I say we stick with 2. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html