[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: "Huang2, Wei" <Wei.Huang2@xxxxxxx>
  • 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
  • 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=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.