This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] RE: [RFC][PATCH] AMD CPU core topology detection

To: "Huang2, Wei" <Wei.Huang2@xxxxxxx>
Subject: Re: [Xen-devel] RE: [RFC][PATCH] AMD CPU core topology detection
From: George Dunlap <dunlapg@xxxxxxxxx>
Date: Tue, 11 Jan 2011 10:58:11 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "keir@xxxxxxx" <keir@xxxxxxx>, Jan Beulich <JBeulich@xxxxxxxxxx>
Delivery-date: Tue, 11 Jan 2011 03:51:18 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=vcr85BB5h7/pw3CfDLmsnN8GeFZ3qtJt7r6vETA/90U=; b=QbMQXrVkxWvC/hEhHLbrLU/RXN/QUnataLVzDhRLz50l9VAhZkiDoKlZGJQh9geQtB 6JwwjoUa80eLTd1vVYq/6qcouW/8g9kWxFVylRktxrpvQL8ZCRtVunwn9F1Jr46uLVA+ 9NEwZyH6mNGQlVZ7KSoQYS6raUNklDtcdX55I=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=q0sGHfI4aotWokNTHHtSIwhvt0zWSOaGr1fnfi7a+BrkEOTCQBxxpN1f0JFksuj/Bp ZCoMSuYa8GRPbBeBd2t6NtuJRVrnOxBHOoPHymLYQnq7GeZs3ICy23P1vffdg1LM7qw0 mUedd98RLuTAEwG+QAldWmmXd8HautxtOWx9g=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <EE335F95F28A664DB4A21289D2AA053BB4CCB2A7@xxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4D25F227.4060808@xxxxxxx> <4D26E350020000780002AF0B@xxxxxxxxxxxxxxxxxx> <EE335F95F28A664DB4A21289D2AA053BB4CCB2A7@xxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Fri, Jan 7, 2011 at 3:52 PM, Huang2, Wei <Wei.Huang2@xxxxxxx> wrote:
> [From my understanding, cpu_core_id and phys_proc_id are collected during 
> boot (mostly in smpboot.c and under cpu/ directory) for sibling map. The 
> sibling info is used for scheduler later on. Old AMD CPUs don't have 
> HyperThreading, so the cpu_sibling_map isn't so useful. New CPUs will have 
> core/compute unit/node. Using Intel's HT as an analogy, we have the following 
> relationship: core=>hyper-thread, compute unit=>core, node=>processor). From 
> that perspective, the change is reasonable. But I might have missed other 
> parts.

Wei, can you point me to some documentation about exactly what the
"compute unit" is?

> I will check mce implementation. This is a good point.]
> If indeed your intention was to superimpose the new AMD topology
> onto the existing one (partly other than Linux, which added a new
> field to struct cpuinfo_x86, but uses cpu_{sibling,core}_map like
> what results with your patch), won't there be consequences on (at
> least) the credit scheduler (as you may not want cores to be
> treated like threads in _csched_cpu_pick())?
> [This is a tricky question. Based on my comments above, Bulldozer core can be 
> treated as thread because it shares FPU with other cores. But different from 
> HT, it also has many dedicated resources (int scheduler, pipeline and L1 
> cache). The scheduler needs more information in order to tell VCPUs apart 
> on-the-fly and schedule them accordingly. Maybe George can take this into 
> consideration for his credit2 scheduler (or beyond).
> I will take a look at Linux's implementation. If you have new ideas, I would 
> appreciate them too.
> ]
>>@@ -132,6 +132,7 @@
>> #define X86_FEATURE_SSE5      (6*32+ 11) /* AMD Streaming SIMD Extensions-5 
>> */
>> #define X86_FEATURE_SKINIT    (6*32+ 12) /* SKINIT, STGI/CLGI, DEV */
>> #define X86_FEATURE_WDT               (6*32+ 13) /* Watchdog Timer */
>>+#define X86_FEATURE_TOPO_EXT    (6*32+ 22) /* Topology Extension Support */
> Would be nice to use the same name as Linux does (i.e. without
> the last underscore).
> [I can surely do so.]
> Jan
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Xen-devel mailing list