Topology aware scheduling algorithm.
Suleiman Souhlal
ssouhlal at FreeBSD.org
Tue Feb 26 11:51:24 UTC 2008
On Feb 25, 2008, at 11:51 PM, Jeff Roberson wrote:
>
> On Tue, 26 Feb 2008, David Xu wrote:
>
>> Jeff Roberson wrote:
>>
>>> I think our identcpu.c already detects this information. That's
>>> what I'm using. Although I assume that all cpus are identical
>>> and fall back on a flat topology if this isn't the case. I'd
>>> like to start including more cache information though.
>>> Jeff
>>
>> The patch does not assume all cpus are identical, in theory, one
>> can have a machine with one cpu is 4-core and another is 2-core cpu.
>> only one place needs to be fixed in the patch,the global variable
>> cpu_feature, which is easy to fix for the patch.
>
> cpuid_count(4, cache_level, regs);
> if ((regs[0] & 0x1f) == 0)
> break;
> threads_per_cache = ((regs[0] & 0x3ffc000) >> 14) + 1;
>
> Does this work on all intel/amd cpus?
That won't work on AMD, as they don't support cpuid 4, as far as I know.
-- Suleiman
More information about the freebsd-current
mailing list