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

Re: [Xen-devel] [PATCH/RFC] Wrong account for cpus other than 0 on hotplug

  • To: Glauber de Oliveira Costa <gcosta@xxxxxxxxxx>
  • From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
  • Date: Fri, 13 Oct 2006 22:56:59 +0100
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Fri, 13 Oct 2006 15:08:09 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcbvEoGiv+2BclsFEduu5gANk04WTA==
  • Thread-topic: [Xen-devel] [PATCH/RFC] Wrong account for cpus other than 0 on hotplug

On 13/10/06 10:18 pm, "Glauber de Oliveira Costa" <gcosta@xxxxxxxxxx> wrote:

> I just found that the offending code is in the HV itself, and not in the
> guest. In arch_do_vcpu_op(), we see that the information is only passed
> up to the guest, if the check (current == v) holds, which seems to be
> the
> true source of it. (taking the check away makes it work).

Makes sense. CPU0 sets up the area for the AP then immediately tries to read
from the area which isn't initialised at that point (because of the check
you point out).

> I can see no reason for this check to be there. If there is one, we
> could maybe make sure it holds. (maybe calling set_current(v) on HV
> side?)

Removing it will change the ABI. Assumption is that AP may have a different
virt->phys translation for that virtual address.

I'll look into fixing this before 3.0.3 goes out. I think it can be done
with a fairly small patch.

 -- Keir

> Your comments on this are , as usual, very welcome ;-)

Xen-devel mailing list



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