Date: Tue, 26 Feb 2008 01:47:21 -0800 From: Suleiman Souhlal <ssouhlal@FreeBSD.org> To: Jeff Roberson <jroberson@chesapeake.net> Cc: David Xu <davidxu@freebsd.org>, current@freebsd.org Subject: Re: Topology aware scheduling algorithm. Message-ID: <A71DC37B-DD83-4636-8380-1E24B97E11AB@FreeBSD.org> In-Reply-To: <20080225215035.Q920@desktop> References: <20080225161855.M920@desktop> <47C37CAC.90806@freebsd.org> <20080225195402.M920@desktop> <47C3B943.8020407@freebsd.org> <20080225215035.Q920@desktop>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A71DC37B-DD83-4636-8380-1E24B97E11AB>