lkml.org 
[lkml]   [2006]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [rfc][patch] sched: remove smpnice
Paul Jackson wrote:
> Peter wrote:
>
>>In these circumstances, moving the task
>>to an idle CPU should be a "good thing" unless the time taken for the
>>move is longer than the time that will pass before the task becomes the
>>running task on its current CPU.
>
>
> Even then, it's not always a "good thing".
>
> The less of the cache-memory hierarchy the two CPUs share, the greater
> the penalty to the task for memory accesses after the move.
>
> At one extreme, two hyperthreads on the same core share essentially all
> the memory hierarchy, so have no such penalty.
>
> At the other extreme, two CPUs at opposite ends of a big NUMA box have,
> so far as performance is concerned, quite different views of the memory
> hierarchy. A task moved to a far away CPU will be cache cold for
> several layers of core, package, board, and perhaps router hierarchy,
> and have slower access to its main memory pages.

This will complicate things IF we end up having to introduce an "is it
worth moving this particular task" test to move_tasks() in addition to
the "cache hot" test. E.g. "will it take longer for this task to do
something useful on its new CPU than if we leave it here?" would
obviously have to take into account any delay in accessing memory as a
result of the move. Hopefully it won't come to that :-).

Peter
--
Peter Williams pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
-
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/

\
 
 \ /
  Last update: 2006-02-15 01:12    [from the cache]
©2003-2011 Jasper Spaans