Re: [Lse-tech] Bug in sys_sched_yield

From: Walt Drummond (drummond@engr.valinux.com)
Date: Thu Apr 12 2001 - 11:49:30 EST


george anzinger writes:
> Uh... I do know about this map, but I wonder if it is at all needed.
> What is the real difference between a logical cpu and the physical one.
> Or is this only interesting if the machine is not Smp, i.e. all the cpus
> are not the same? It just seems to me that introducing an additional
> mapping just slows things down and, if all the cpus are the same, does
> not really do anything. Of course, I am assuming that ALL usage would
> be to the logical :)

Right. That is not always the case. IA32 is somewhat special. ;) The
logical mapping allows you to, among other things, easily enumerate
over the set of active processors without having to check if a
processor exists at the current processor address.

The difference is apparent when the physical CPU ID is, say, an
address on a processor bus, or worse, an address on a set of processor
busses. Take a look at the IA-64's smp.h. The IA64 physical
processor ID is a 64-bit structure that has to 8-bit ID's; an EID for
what amounts to a "processor bus" ID and an ID that corresponds to a
specific processor on a processor bus. Together, they're a system
global ID for a specific processor. But there is no guarantee that
the set of global ID's will be contiguous.

It's possible to have disjoint (non-contiguous) physical processor
ID's if a processor bus is not completely populated, or there is an
empty processor slot or odd processor numbering in firmware, or
whatever.

--Walt

-
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/



This archive was generated by hypermail 2b29 : Sun Apr 15 2001 - 21:00:19 EST