From owner-freebsd-current@FreeBSD.ORG Tue Feb 26 07:49:24 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C87D16A401; Tue, 26 Feb 2008 07:49:24 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from webaccess-cl.virtdom.com (webaccess-cl.virtdom.com [216.240.101.25]) by mx1.freebsd.org (Postfix) with ESMTP id 62E6713C448; Tue, 26 Feb 2008 07:49:24 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from [192.168.1.107] (cpe-24-94-75-93.hawaii.res.rr.com [24.94.75.93]) (authenticated bits=0) by webaccess-cl.virtdom.com (8.13.6/8.13.6) with ESMTP id m1Q7nM3G050182; Tue, 26 Feb 2008 02:49:23 -0500 (EST) (envelope-from jroberson@chesapeake.net) Date: Mon, 25 Feb 2008 21:51:01 -1000 (HST) From: Jeff Roberson X-X-Sender: jroberson@desktop To: David Xu In-Reply-To: <47C3B943.8020407@freebsd.org> Message-ID: <20080225215035.Q920@desktop> References: <20080225161855.M920@desktop> <47C37CAC.90806@freebsd.org> <20080225195402.M920@desktop> <47C3B943.8020407@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: current@freebsd.org Subject: Re: Topology aware scheduling algorithm. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Feb 2008 07:49:24 -0000 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? Thanks, Jeff > > David Xu > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >