From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: David Vrabel <david.vrabel@citrix.com>,
Ian Campbell <Ian.Campbell@citrix.com>,
"jbeulich@suse.com" <jbeulich@suse.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [PATCH 07/13] xen: generalized event channel operations
Date: Tue, 5 Feb 2013 14:44:18 -0500 [thread overview]
Message-ID: <20130205194412.GC6906@konrad-lan.dumpdata.com> (raw)
In-Reply-To: <1360085001.7477.166.camel@zion.uk.xensource.com>
On Tue, Feb 05, 2013 at 05:23:21PM +0000, Wei Liu wrote:
> On Tue, 2013-02-05 at 17:19 +0000, Konrad Rzeszutek Wilk wrote:
> > On Tue, Feb 05, 2013 at 05:08:51PM +0000, Wei Liu wrote:
> > > On Tue, 2013-02-05 at 17:04 +0000, Konrad Rzeszutek Wilk wrote:
> > > > On Thu, Jan 31, 2013 at 02:47:01PM +0000, Wei Liu wrote:
> > > > > Use global pointers in common operations to allow for better code sharing
> > > > > between N-level event channel.
> > > > >
> > > > > Functions which are not suitable for sharing are also taken care of.
> > > > >
> > > > > Also update drivers/xen/evtchn.c to use exported variable instead of macro.
> > > > >
> > > > > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> > > > > ---
> > > > > drivers/xen/events.c | 180 ++++++++++++++++++++++++++++++++------------------
> > > > > drivers/xen/evtchn.c | 12 ++--
> > > > > include/xen/events.h | 2 +
> > > > > 3 files changed, 123 insertions(+), 71 deletions(-)
> > > > >
> > > > > diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> > > > > index 0679d27..4820a52 100644
> > > > > --- a/drivers/xen/events.c
> > > > > +++ b/drivers/xen/events.c
> > > > > @@ -51,6 +51,16 @@
> > > > > #include <xen/interface/hvm/hvm_op.h>
> > > > > #include <xen/interface/hvm/params.h>
> > > > >
> > > > > +/* N-level event channel, starting from 2 */
> > > > > +unsigned int evtchn_level = 2;
> > > >
> > > > What if the hypervisor does not support that? Shouldn't be by default
> > > > at 1?
> > > >
> > >
> > > the default implementation is 2 level. ;-)
> >
> > I am looking at evtchn_pending and evtchn_mask in the 'struct
> > shared_info' (include/xen/interface/xen.h) and it is not obvious from
> > that. What am I missing?
> >
>
> To avoid scanning the whole bitmap when doing upcall, every vcpu is
> equipped with a selector - embedded in struct vcpu_info.
>
> So it is a 2-level event lookup path.
>
Ah, OK. I was thinking of the normal 2 level lookup - like a page-table.
Could you include the explanation in the patch please? Thank you.
>
> Wei
>
next prev parent reply other threads:[~2013-02-05 19:44 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-31 14:46 [PATCH 00/13] Implement 3-level event channel in Linux Wei Liu
2013-01-31 14:46 ` [PATCH 01/13] xen: fix output of xen_debug_interrupt Wei Liu
2013-02-01 11:06 ` David Vrabel
2013-02-01 13:10 ` Wei Liu
2013-02-01 13:14 ` Wei Liu
2013-01-31 14:46 ` [PATCH 02/13] xen: fix error handling path if xen_allocate_irq_dynamic fails Wei Liu
2013-02-01 11:19 ` David Vrabel
2013-02-01 11:26 ` Ian Campbell
2013-02-01 12:36 ` Wei Liu
2013-02-06 15:49 ` Konrad Rzeszutek Wilk
2013-01-31 14:46 ` [PATCH 03/13] xen: fix evtchn_unbind_from_user Wei Liu
2013-02-01 11:15 ` David Vrabel
2013-02-01 12:33 ` Wei Liu
2013-02-05 16:57 ` Konrad Rzeszutek Wilk
2013-01-31 14:46 ` [PATCH 04/13] xen: sync public headers Wei Liu
2013-02-05 17:00 ` Konrad Rzeszutek Wilk
2013-02-05 17:23 ` Wei Liu
2013-02-06 16:57 ` Konrad Rzeszutek Wilk
2013-02-07 9:22 ` Paul Durrant
2013-02-07 11:57 ` Wei Liu
2013-02-08 16:06 ` Paul Durrant
2013-02-08 16:22 ` Ian Campbell
2013-02-08 16:36 ` Paul Durrant
2013-02-08 16:49 ` Tim Deegan
2013-02-08 16:56 ` Jan Beulich
2013-02-08 16:59 ` Ian Campbell
2013-02-08 17:06 ` Tim Deegan
2013-02-08 17:09 ` Ian Campbell
2013-02-08 19:45 ` David Vrabel
2013-02-08 19:55 ` Ian Campbell
2013-02-08 17:07 ` Paul Durrant
2013-02-08 16:37 ` Wei Liu
2013-02-08 16:40 ` Ian Campbell
2013-02-07 12:23 ` Ian Campbell
2013-01-31 14:46 ` [PATCH 05/13] xen: introduce test_and_set_mask Wei Liu
2013-02-01 11:35 ` David Vrabel
2013-02-01 22:08 ` Ian Campbell
2013-01-31 14:47 ` [PATCH 06/13] xen: replace raw bit ops with functions Wei Liu
2013-01-31 14:47 ` [PATCH 07/13] xen: generalized event channel operations Wei Liu
2013-02-05 17:04 ` Konrad Rzeszutek Wilk
2013-02-05 17:08 ` Wei Liu
2013-02-05 17:19 ` Konrad Rzeszutek Wilk
2013-02-05 17:23 ` Wei Liu
2013-02-05 19:44 ` Konrad Rzeszutek Wilk [this message]
2013-01-31 14:47 ` [PATCH 08/13] xen: dynamically allocate cpu_evtchn_mask Wei Liu
2013-02-01 11:29 ` David Vrabel
2013-01-31 14:47 ` [PATCH 09/13] xen: implement 3-level event channel routines Wei Liu
2013-02-05 17:09 ` Konrad Rzeszutek Wilk
2013-02-05 17:39 ` Wei Liu
2013-02-05 19:46 ` Konrad Rzeszutek Wilk
2013-01-31 14:47 ` [PATCH 10/13] xen: introduce xen_event_channel_register_3level Wei Liu
2013-02-04 8:56 ` Jan Beulich
2013-02-04 10:36 ` Wei Liu
2013-02-05 16:55 ` Konrad Rzeszutek Wilk
2013-02-05 17:05 ` Wei Liu
2013-02-05 17:14 ` Konrad Rzeszutek Wilk
2013-01-31 14:47 ` [PATCH 11/13] xen: introduce xen_event_channel_register_nlevel Wei Liu
2013-01-31 14:47 ` [PATCH 12/13] xen: register 3-level event channel Wei Liu
2013-02-01 11:31 ` David Vrabel
2013-01-31 14:47 ` [PATCH 13/13] xen: only register 3-level event channel for Dom0 Wei Liu
2013-01-31 16:39 ` Wei Liu
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=20130205194412.GC6906@konrad-lan.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Ian.Campbell@citrix.com \
--cc=david.vrabel@citrix.com \
--cc=jbeulich@suse.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.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.