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

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

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

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



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