WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] Export Multicore information

To: Keir Fraser <keir@xxxxxxxxxxxxx>, "Kamble, Nitin A" <nitin.a.kamble@xxxxxxxxx>, John Levon <levon@xxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Export Multicore information
From: Keir Fraser <keir@xxxxxxxxxxxxx>
Date: Wed, 13 Dec 2006 09:55:53 +0000
Cc: "Yu, Wilfred" <wilfred.yu@xxxxxxxxx>, Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, Xen devel list <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Yang, Fred" <fred.yang@xxxxxxxxx>, "Mallick, Asit K" <asit.k.mallick@xxxxxxxxx>, "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
Delivery-date: Wed, 13 Dec 2006 01:55:52 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C1A56DEC.5C64%keir@xxxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Accdfoc0GRLPeHB9QVCU3IZatg004QABSxZgAA83HIgAGIzYkAAcCLcFAAJ+hP0=
Thread-topic: [Xen-devel] [PATCH] Export Multicore information
User-agent: Microsoft-Entourage/11.2.5.060620
On 13/12/06 08:44, "Keir Fraser" <keir@xxxxxxxxxxxxx> wrote:

> Hm.... Ok, so we can have cache hierarchies where a single cache is split
> among *some* of the threads in a core, or *some* of the cores in a package?
> So you end up needing the physical APIC id to be able to apply the CPUID
> information and find out *which* siblings are sharing?
> 
> I'm still tempted just to provide that APICid info to the guest. Was my
> earlier presumption that the cache hierarchy in practice will always be
> symmetric correct? Because that could simplify things.

Actually, my main problem with these new info interfaces is that there is no
reason to make them privileged except that they need to run on the correct
physical CPU. Hence we've ended up with interfaces for MTRR access,
microcode updates, MSR accesses, and this will start to add CPUID access
also.

We already started to discuss general ways we could execute arbitrary guest
code on the appropriate physical CPU. For this topology and cache info, why
not make a user app which sets process-VCPU and VCPU-CPU affinities
appropriately to run its CPUID payload in the right places?
Sched_setaffinity() (linux syscall) and xc_vcpu_setaffinity() should be all
you need. Additionally the affinity-setting code ought to be generically
useful in other scenarios too.

 -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel