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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).