* Linux SMT question
@ 2004-12-29 10:40 Michael Tewner
2004-12-29 11:22 ` Brad Fitzpatrick
0 siblings, 1 reply; 2+ messages in thread
From: Michael Tewner @ 2004-12-29 10:40 UTC (permalink / raw)
To: linux-kernel
I'm sorry if this has been covered before. If it has, please direct me
on where to look.
Over the year, our university started acquiring dual Xeon servers. I
havn't been able to find consistent information regarding how linux
deals with the SMT (HT?). I have checked the source code, and am getting
a few hints, but perhaps someone could help me. People both in and out
of the university are asking me for help.
Our setup assumes a dual XEON HT IBM x335.
As far as I understand it, HT CPU's are 2 processing units sharing
memory; a forked process runs in parallel accessing the same text
segment, but each side maintiaining it's own Program Counter (and
registers?), etc. Is this correct?
Does this mean that if the scheduler puts different processes on the
same physical CPU they'll start context switching between them,
providing slower performance than had they been on 2 physical CPU's?
Some linux releases were showing 2 CPU's, while others were showing 4.
Was there a point where HT was incorporated in the kernel? And before
then, what did the scheduler do?
Are the following logs related to the SMT?
mapping CPU#0's runqueue to CPU#2's runqueue.
mapping CPU#1's runqueue to CPU#3's runqueue.
What (where?) does the scheduler do to run processes on separate
physical CPUs. I seem to remember hearing something about allocating a
process to separate physical CPU's BEFORE using logical CPU's but
something there doesn't sound right... I mean, if 5 processes are all
waiting, are 4 going to be allocated (2 on each CPU) or would only 2 be
allocated unless there are forked processes (that can run together on 2
sibling logical CPU's). Can the scheduler know that 2 processes are related?
Finally, is there a way to force an application to run an separate
physical CPU's? Perhaps a MOSIX-like /proc interface (where each PID has
a special file with preferences such as keep-local)?
I'm sorry for all the questions. I havn't seen this covered in Kernel
Traffic. The only solid information I found was at
http://kerneltrap.org/node/391 where Ingo Molnar explains the
requirements. What *has* been implemented?
Please CC replies. (I'll eventually join the kernel list....)
Thank you very much for your help,
-tewner
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Linux SMT question
2004-12-29 10:40 Linux SMT question Michael Tewner
@ 2004-12-29 11:22 ` Brad Fitzpatrick
0 siblings, 0 replies; 2+ messages in thread
From: Brad Fitzpatrick @ 2004-12-29 11:22 UTC (permalink / raw)
To: Michael Tewner; +Cc: linux-kernel
Michael,
On Wed, 29 Dec 2004, Michael Tewner wrote:
> I'm sorry if this has been covered before. If it has, please direct me
> on where to look.
>
> Over the year, our university started acquiring dual Xeon servers. I
> havn't been able to find consistent information regarding how linux
> deals with the SMT (HT?).
Check out this article:
http://lwn.net/Articles/80911/
lwn.net's a great source of both news and timely explanations of kernel
changes underway.
> Finally, is there a way to force an application to run an separate
> physical CPU's? Perhaps a MOSIX-like /proc interface (where each PID has
> a special file with preferences such as keep-local)?
$ man 2 sched_setaffinity
- Brad
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-12-29 11:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-29 10:40 Linux SMT question Michael Tewner
2004-12-29 11:22 ` Brad Fitzpatrick
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox