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
next prev parent 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.