From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Jim Fehlig <jfehlig@suse.com>, xen-devel@lists.xensource.com
Subject: Re: [PATCH 6/6] libxl: events: Document and enforce actual callbacks restriction
Date: Fri, 28 Nov 2014 13:04:56 +0000 [thread overview]
Message-ID: <1417179896.23604.42.camel@citrix.com> (raw)
In-Reply-To: <1417112870-31894-7-git-send-email-ian.jackson@eu.citrix.com>
On Thu, 2014-11-27 at 18:27 +0000, Ian Jackson wrote:
> libxl_event_register_callbacks cannot reasonably be called while libxl
> is busy (has outstanding operations and/or enabled events).
>
> This is because the previous spec implied (although not entirely
> clearly) that event hooks would not be called for existing fd and
> timeout interests. There is thus no way to reliably ensure that libxl
> would get told about fds and timeouts which it became interested in
> beforehand.
>
> So there have to be no such fds or timeouts, which means that the
> callbacks must only be registered or changed when the ctx is idle.
>
> Document this restriction, and enforce it with a pair of asserts.
>
> (It would be nicer, perhaps, to say that the application may not call
> libxl_osevent_register_hooks other than right after creating the ctx.
> But there are existing callers, including libvirt, who do it later -
> even after doing major operations such as domain creation.)
>
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
next prev parent reply other threads:[~2014-11-28 13:04 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-26 15:37 segv in osevent_release_nexus with libxl backend to libvirt Ian Campbell
[not found] ` <21621.61406.151530.376288@mariner.uk.xensource.com>
2014-11-26 15:40 ` Ian Campbell
2014-11-26 15:52 ` Ian Campbell
2014-11-26 17:38 ` Ian Jackson
2014-11-27 10:22 ` Ian Campbell
2014-11-27 18:27 ` [PATCH for-4.5 0/6] libxl: events: Tear down fd interests when idle Ian Jackson
2014-11-27 18:27 ` [PATCH 1/6] libxl: events: Assert that libxl_ctx_free is not called from a hook Ian Jackson
2014-11-28 12:42 ` Ian Campbell
2014-11-27 18:27 ` [PATCH 2/6] libxl: events: Deregister xenstore watch fd when not needed Ian Jackson
2014-11-28 13:06 ` Ian Campbell
2014-11-28 14:56 ` Ian Jackson
2014-11-28 15:00 ` Ian Campbell
2014-11-28 13:19 ` Ian Campbell
2014-11-27 18:27 ` [PATCH 3/6] libxl: events: Deregister, don't just modify, sigchld pipe fd Ian Jackson
2014-11-28 12:48 ` Ian Campbell
2014-11-28 14:42 ` Ian Jackson
2014-11-28 14:44 ` Ian Campbell
2014-11-27 18:27 ` [PATCH 4/6] libxl: events: Tear down SIGCHLD machinery on ctx destruction Ian Jackson
2014-11-28 12:51 ` Ian Campbell
2014-11-27 18:27 ` [PATCH 5/6] libxl: events: Deregister evtchn fd when not needed Ian Jackson
2014-11-28 13:04 ` Ian Campbell
2014-11-28 14:47 ` Ian Jackson
2014-11-28 14:52 ` Ian Campbell
2014-12-09 11:22 ` Ian Jackson
2014-12-09 11:31 ` Ian Campbell
2014-12-09 15:48 ` [PATCH 5/6] libxl: events: Deregister evtchn fd when not needed [and 1 more messages] Ian Jackson
2014-11-27 18:27 ` [PATCH 6/6] libxl: events: Document and enforce actual callbacks restriction Ian Jackson
2014-11-28 13:04 ` Ian Campbell [this message]
2014-11-27 18:30 ` [PATCH for-4.5 0/6] libxl: events: Tear down fd interests when idle Ian Jackson
2014-11-28 13:05 ` Ian Campbell
2014-12-08 16:18 ` Konrad Rzeszutek Wilk
2014-12-08 10:33 ` Ian Campbell
2014-12-09 15:54 ` [PATCH for-4.5 v2 " Ian Jackson
2014-12-09 15:54 ` [PATCH 1/6] libxl: events: Assert that libxl_ctx_free is not called from a hook Ian Jackson
2014-12-09 15:54 ` [PATCH 2/6] libxl: events: Deregister xenstore watch fd when not needed Ian Jackson
2014-12-09 15:59 ` Ian Campbell
2014-12-09 16:13 ` Ian Jackson
2014-12-09 15:54 ` [PATCH 3/6] libxl: events: Deregister, don't just modify, sigchld pipe fd Ian Jackson
2014-12-09 15:54 ` [PATCH 4/6] libxl: events: Tear down SIGCHLD machinery on ctx destruction Ian Jackson
2014-12-09 15:54 ` [PATCH 5/6] libxl: events: Deregister evtchn fd when not needed Ian Jackson
2014-12-09 15:56 ` Ian Campbell
2014-12-09 15:54 ` [PATCH 6/6] libxl: events: Document and enforce actual callbacks restriction Ian Jackson
2014-12-10 10:45 ` [PATCH for-4.5 v2 0/6] libxl: events: Tear down fd interests when idle Ian Campbell
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=1417179896.23604.42.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jfehlig@suse.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.