lkml.org 
[lkml]   [2002]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] "fully HT-aware scheduler" support, 2.5.31-BK-curr
Ingo Molnar wrote:
> symmetric multithreading (hyperthreading) is an interesting new concept
> that IMO deserves full scheduler support. Physical CPUs can have multiple
> (typically 2) logical CPUs embedded, and can run multiple tasks 'in
> parallel' by utilizing fast hardware-based context-switching between the
> two register sets upon things like cache-misses or special instructions.
> To the OSs the logical CPUs are almost undistinguishable from physical
> CPUs. In fact the current scheduler treats each logical CPU as a separate
> physical CPU - which works but does not maximize multiprocessing
> performance on SMT/HT boxes.
>
...
>
> There's a single flexible interface for lowlevel boot code to set up
> physical CPUs: sched_map_runqueue(cpu1, cpu2) maps cpu2 into cpu1's
> runqueue. The patch also implements the lowlevel bits for P4 HT boxes for
> the 2/package case.
>
> (NUMA systems which have tightly coupled CPUs with a smaller cache and
> protected by a large L3 cache might benefit from sharing the runqueue as
> well - but the target for this concept is SMT.)
>

Sharing a runqueue for all processors on a node of a NUMA system has the
drawback of not accounting for cache warmth for processes. Ideally, for
a NUMA system there should continue to be individual runqueues per cpu
(or per set of HT processors), and then a grouping of runqueues at the
node level. At load balancing, priority should be to redispatch on the
same processor, followed by on the same node. The pain threshold for
crossing the node boundary will vary depending on the NUMA-ness of the
hardware, so it would be good to account for this in the scheduler.

Erich Focht has a large patch to the O(1) scheduler that implements
this type of scheduling hierarchy. Have you had an opportunity to look
it over? What do you think about getting portions of this into the
O(1) scheduler?
>
> Testreports, comments, suggestions welcome,
>
> Ingo
>

Michael Hohnbaum
hohnbaum@us.ibm.com


-
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: 2005-03-22 13:28    [from the cache]
©2003-2011 Jasper Spaans