All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Liu <wei.liu2@citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	wei.liu2@citrix.com
Subject: Re: FIFO-based event channel ABI design (draft B)
Date: Fri, 15 Feb 2013 19:04:27 +0000	[thread overview]
Message-ID: <1360955067.16636.201.camel@zion.uk.xensource.com> (raw)
In-Reply-To: <511E829B.8020800@citrix.com>

On Fri, 2013-02-15 at 18:46 +0000, David Vrabel wrote:
> On 15/02/13 18:19, Wei Liu wrote:
> > Apart from the TAIL field, I have some comments on the hypercall
> > interface. Please see inline comments.
> > 
> > On Fri, 2013-02-15 at 14:32 +0000, David Vrabel wrote:
> >>
> >> ### `EVTCHNOP_init_control`
> >>
> >> This call initializes a single VCPU's control block.
> >>
> >> A guest should call this during initial VCPU bring up.  The guest must
> >> have already successfully registered a vcpu_info structure and the
> >> control block must be in the same page.
> >>
> >> If this call fails on the boot VCPU, the guest should continue to use
> >> the 2-level event channel ABI for all VCPUs.  If this call fails on
> >> any non-boot VCPU then the VCPU will be unable to receive events and
> >> the guest should offline the VCPU.
> >>
> > 
> > Why offline this CPU? This call only registers control block, we can
> > switch back to use 2-level for all CPUs.
> 
> Because switching back for the other VCPUs is potentially impossible (we
> may have hotplugged this new VCPU and more than 4096 event channels may
> be currently in use).  It would also require migrating events between
> the new and old data structures which is hard.
> 

If you hot plug a vcpu, can it possibly bypass the cpu_possible_map
limit?

VCPU info placement call is issued for all possible CPU's, in this case,
you can have new ABI setup for all possible CPUs at start-of-day, so
there is no migration needed.

> I would expect this call to never fail in normal operation (except on
> the boot VCPU where support may be missing).  i.e., it will only fail if
> xenheap or map space is exhausted.  Both the xenheap and the map space
> should be large enough so we run out of other resources (e.g,, domheap)
> first.
> 
[snip]
> 
> The boot VCPU shall have successfully initialized its control block.  I
> don't think there are any other restrictions on this call.
> 

So do you mean that this is only called when guest starts?


Wei.

  reply	other threads:[~2013-02-15 19:04 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-15 14:32 FIFO-based event channel ABI design (draft B) David Vrabel
2013-02-15 15:05 ` Jan Beulich
2013-02-15 15:17   ` David Vrabel
2013-02-15 15:36     ` Jan Beulich
2013-02-15 18:19 ` Wei Liu
2013-02-15 18:46   ` David Vrabel
2013-02-15 19:04     ` Wei Liu [this message]
2013-02-18  8:10     ` Jan Beulich
2013-02-18 15:19 ` Ian Campbell
2013-02-18 20:16   ` David Vrabel
2013-02-18 20:50     ` Wei Liu
2013-02-18 20:21   ` Keir Fraser
2013-02-19 18:39 ` Ian Jackson

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=1360955067.16636.201.camel@zion.uk.xensource.com \
    --to=wei.liu2@citrix.com \
    --cc=david.vrabel@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /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.