All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zachary Amsden <zach@vmware.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Chris Wright <chrisw@sous-sol.org>,
	Virtualization Mailing List <virtualization@lists.osdl.org>
Subject: Re: pv_ops smp support
Date: Thu, 19 Oct 2006 17:02:38 -0700	[thread overview]
Message-ID: <4538121E.7090607@vmware.com> (raw)
In-Reply-To: <45380EDD.2070809@goop.org>

Jeremy Fitzhardinge wrote:
> Zachary Amsden wrote:
>> 1) What do you plan to do to address per-cpu data structures?
>
> Er, what's there at the moment, more or less.  The main thing is that 
> the secondary CPU get the PDA set up (init gdt and %gs) before anyone 
> wants to use it (which is generally the first use of 
> smp_processor_id() or current). At some point we'll probably fold the 
> PDA and PER_CPU together.  Xen can more or less completely initialize 
> the VCPU state before it is brought up, so there's little or no need 
> for any kind of bootstrap code.

No, I don't mean the Linux PDA - how do you access the Xen PDA?  Or have 
they conjoined somehow?



>> 2) What is your remote TLB shootdown model?
>
> Xen has a hypercall to shoot down a set of CPU's TLBs, so it doesn't 
> need to do an IPI (we'll need to extend the flush_tlb interface to 
> make good use of this).  It will still need IPIs for reschedule and 
> remote function calls or course.

So your invalidate "IPI" is actually a hypercall, and you can use the 
existing flush_tlb interface for the most part.  You just need a 
paravirt-op then for the IPI itself, which takes a CPU mask - and this 
seems to match nicely onto your hypercall.  I think you might want to 
optimize this a bit more, however, since in some cases you will issue 
implicit shootdown IPIs during a pte update hypercall.

This might require some reworking of the MMU interfaces in paravirt-ops 
to accomodate providing such a record, and perhaps adding a function to 
flush the tlb_gather interface so that pte updates which have such 
properties can record the shootdown.

This seems much cleaner than designing the shootdown semantic directly 
into such PTE updates, which is I believe what some of the older Xen 
patches did, although I could have misread them.

Zach

  reply	other threads:[~2006-10-20  0:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-19 23:09 pv_ops smp support Jeremy Fitzhardinge
2006-10-19 23:34 ` Zachary Amsden
2006-10-19 23:48   ` Jeremy Fitzhardinge
2006-10-20  0:02     ` Zachary Amsden [this message]
2006-10-20  4:08       ` Jeremy Fitzhardinge
2006-10-20  4:48         ` Zachary Amsden

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4538121E.7090607@vmware.com \
    --to=zach@vmware.com \
    --cc=chrisw@sous-sol.org \
    --cc=jeremy@goop.org \
    --cc=virtualization@lists.osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.