From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Keir (Xen.org)" <keir@xen.org>,
"jeremy@goop.org" <jeremy@goop.org>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: Re: [PATCH 2/2] xen/gnt{dev, alloc}: reserve event channels for notify
Date: Tue, 25 Oct 2011 16:42:26 -0400 [thread overview]
Message-ID: <4EA71F32.9040208@tycho.nsa.gov> (raw)
In-Reply-To: <1319574443.16747.1.camel@dagon.hellion.org.uk>
On 10/25/2011 04:27 PM, Ian Campbell wrote:
> On Tue, 2011-10-25 at 20:41 +0100, Daniel De Graaf wrote:
>>
>>>> Hmm. Perhaps have a magic value for refcount (-1?) that indicates
>> evtchn_get is not
>>>> available. That would become the default value of refcnt, and
>> evtchn.c would then
>>>> use evtchn_make_refcounted() to change the refcount to 1 and allow
>> _get/_put to work.
>>>
>>> How would that work when the IRQ subsystem (so everything is setup
>> in the kernel)
>>> gets an event? Would the refcount be for that -1.. oh. You would
>> only set
>>> the refcnt when the _get/_put calls are made and not when in-kernel
>> calls to setup> IRQs are done?
>>>
>>
>> Right. The reference count would be a dual-purpose field indicating if
>> the event channel is kernel-internal (value -1) or userspace-visible
>> (reference count > 0). New event channels would start out at -1, and
>> evtchn.c would change them to 1.
>
> Is there any way that the reference count could be made part of the
> datastructures associated with the /dev/xen/evtchn driver instead of the
> core evtchn.c stuff? That wouldreduce the chance of current or futures
> users getting something wrong.
>
> Ian.
This would require that the gntdev and gntalloc modules have a dependency
on the evtchn module, with the evtchn_{get,put} functions moved into that
module. The only other way would be to add a refcount maintenance
function pointer to the IRQ data structure, which seems like it would lead
to more problems than a simple reference count.
--
Daniel De Graaf
National Security Agency
next prev parent reply other threads:[~2011-10-25 20:42 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-16 21:14 [PATCH 0/2] Add reference counting to grant notify ioctls Daniel De Graaf
2011-09-16 21:14 ` [PATCH 1/2] xen/event: Add reference counting to event channel Daniel De Graaf
2011-09-17 4:50 ` Jeremy Fitzhardinge
2011-09-17 6:11 ` Keir Fraser
2011-09-19 15:50 ` Daniel De Graaf
2011-09-19 16:22 ` Jeremy Fitzhardinge
2011-09-19 17:53 ` Daniel De Graaf
2011-09-16 21:14 ` [PATCH 2/2] xen/gnt{dev, alloc}: reserve event channels for notify Daniel De Graaf
2011-10-18 21:04 ` [PATCH v2 0/2] Add reference counting to grant notify ioctls Daniel De Graaf
2011-10-18 21:04 ` [PATCH 1/2] xen/event: Add reference counting to event channel Daniel De Graaf
2011-10-19 9:20 ` Ian Campbell
2011-10-24 20:22 ` Konrad Rzeszutek Wilk
2011-10-24 22:20 ` Daniel De Graaf
2011-10-25 19:05 ` Konrad Rzeszutek Wilk
2011-10-25 8:17 ` Ian Campbell
2011-10-25 19:09 ` Konrad Rzeszutek Wilk
2011-10-25 20:44 ` Ian Campbell
2011-10-18 21:04 ` [PATCH 2/2] xen/gnt{dev, alloc}: reserve event channels for notify Daniel De Graaf
2011-10-19 9:24 ` Ian Campbell
2011-10-19 14:23 ` Daniel De Graaf
2011-10-19 14:45 ` [PATCH 2/2] xen/gnt{dev,alloc}: " Ian Campbell
2011-10-24 20:57 ` [PATCH 2/2] xen/gnt{dev, alloc}: " Konrad Rzeszutek Wilk
2011-10-24 22:01 ` Daniel De Graaf
2011-10-25 19:02 ` Konrad Rzeszutek Wilk
2011-10-25 19:41 ` Daniel De Graaf
2011-10-25 19:51 ` Konrad Rzeszutek Wilk
2011-10-25 20:27 ` Ian Campbell
2011-10-25 20:42 ` Daniel De Graaf [this message]
2011-10-25 20:50 ` Ian Campbell
2011-10-25 21:07 ` Daniel De Graaf
2011-10-26 15:47 ` [PATCH v3 0/3] Add reference counting to grant notify ioctls Daniel De Graaf
2011-10-26 15:47 ` [PATCH 1/3] xen/event: Add reference counting to event channels Daniel De Graaf
2011-10-26 16:51 ` Ian Campbell
2011-10-26 16:57 ` Ian Campbell
2011-10-26 17:28 ` Daniel De Graaf
2011-10-27 9:03 ` Ian Campbell
2011-10-26 18:42 ` [PATCH 1/3 v3.2] " Daniel De Graaf
2011-10-26 15:47 ` [PATCH 2/3] xen/gntalloc: Change gref_lock to a mutex Daniel De Graaf
2011-10-26 15:47 ` [PATCH 3/3] xen/gnt{dev, alloc}: reserve event channels for notify Daniel De Graaf
2011-10-27 21:58 ` [PATCH v4 0/3] Add reference counting to grant notify ioctls Daniel De Graaf
2011-10-27 21:58 ` [PATCH 1/3] xen/event: Add reference counting to event channels Daniel De Graaf
2011-10-27 21:58 ` [PATCH 2/3] xen/gntalloc: Change gref_lock to a mutex Daniel De Graaf
2011-10-27 21:58 ` [PATCH 3/3] xen/gnt{dev, alloc}: reserve event channels for notify Daniel De Graaf
2011-11-11 20:33 ` [PATCH v4 0/3] Add reference counting to grant notify ioctls Konrad Rzeszutek Wilk
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=4EA71F32.9040208@tycho.nsa.gov \
--to=dgdegra@tycho.nsa.gov \
--cc=Ian.Campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=jeremy@goop.org \
--cc=keir@xen.org \
--cc=konrad.wilk@oracle.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.