From: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@eu.citrix.com>
Cc: xen-devel <xen-devel@lists.xensource.com>,
"xen-api@lists.xensource.com" <xen-api@lists.xensource.com>
Subject: Re: [Xen-API] [PATCH 2 of 4] xc: split xc non-upstream bindings into xcext module
Date: Fri, 19 Nov 2010 11:43:21 +0000 [thread overview]
Message-ID: <4CE662D9.6030808@eu.citrix.com> (raw)
In-Reply-To: <1290094550.31507.5391.camel@zakaz.uk.xensource.com>
On 18/11/10 15:35, Ian Campbell wrote:
> Absolutely, I think the XIU stuff is really very useful indeed. I think
> it even has the potential for wider usefulness than just XCP.
>
> Addressing this is next on my list so my plan is only half baked (if
> that!) but I think the hooks necessary to support an injection
> infrastructure of this type could be integrated into libxc without too
> much pain. Doing this would allow xl, libvirt etc to also use the XIU
> functionality for testing which I think would be really cool.
>
> I've several possible approaches in mind:
>
> * Just whack the hooks and injection layer into libxc itself,
> there aren't really that many hook points or that much code in
> the injection layer...
> * Turn xc_injection_lib.c into a LD_PRELOAD'able library. Requires
> moving various, do_{domctl,ioctl,etc} stuff out of line in the
> library -- which I think is a good idea anyway.
> * Add functionality to libxc to allow it to dlopen a backend (e.g.
> pointed to by an envvar) containing the hook implementation with
> explicit calls to the layer as necessary.
>
> Probably the second two are pretty much equivalent modulo the name of
> the environment variable being either LD_PRELOAD or something else.
>
> Initially I think I prefer the dynamic loading approaches to dropping
> the injection stuff directly into libxc. In particular the dynamic
> options allow the injection layer and XIU backend to live together
> whereas the first option effectively has the injection layer in
> xen-unstable.hg and the XIU backend possibly somewhere else which
> doesn't seem helpful.
>
> The dynamic solution also allows for other injection layers and backends
> but I'm not sure how useful that actually is. Perhaps a valgrind
> friendly backend or something like that, dunno
I pretty much agree with you, however just a bit of comments.
option 1 is more dynamic than option 2. you can mix and match backend
just setting/unsetting
your XIU environment before any XC call technically. this isn't possible
with LD_PRELOAD, since
it's one shot during the start of your program.
3 is pretty much equivalent to 1 and best technically IMO. it's just a
bit more efforts to do, hence why option 1 is the one available now.
--
Vincent
next prev parent reply other threads:[~2010-11-19 11:43 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-18 10:49 XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) Ian Campbell
2010-11-18 10:50 ` [PATCH 0 of 3] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-dist-ocaml.hg Ian Campbell
[not found] ` <patchbomb.1290077407-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-11-18 10:50 ` [PATCH 1 of 3] Query rpm to find build directories Ian Campbell
2010-11-18 10:50 ` [PATCH 2 of 3] Define $(RPM) for use in Makefile Ian Campbell
2010-11-18 10:50 ` [PATCH 3 of 3] Install additional packages Ian Campbell
[not found] ` <1290077348.31507.5282.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-11-18 10:50 ` [PATCH 0 of 4] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-api-libs.hg Ian Campbell
[not found] ` <patchbomb.1290077414-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-11-18 10:50 ` [PATCH 1 of 4] Query rpm to find build directories Ian Campbell
2010-11-18 10:50 ` [PATCH 2 of 4] xc: split xc non-upstream bindings into xcext module Ian Campbell
2010-11-18 14:36 ` [Xen-API] " Vincent Hanquez
2010-11-18 15:35 ` Ian Campbell
2010-11-19 11:43 ` Vincent Hanquez [this message]
[not found] ` <4CE662D9.6030808-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org>
2010-11-19 13:32 ` Ian Campbell
[not found] ` <1290094550.31507.5391.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-11-19 17:43 ` [Xen-devel] " Ian Jackson
[not found] ` <19686.46942.593712.651242-msK/Ju9w1zmnROeE8kUsYhEHtJm+Wo+I@public.gmane.org>
2010-11-22 13:05 ` Ian Campbell
[not found] ` <m2n.s.1PKW6s-0019ae@chiark.greenend.org.uk>
[not found] ` <m2n.s.1PKW6s-0019ae-QGMSyCZBOSwv4zxTlrOuLwNdhmdF6hFW@public.gmane.org>
2010-11-23 18:02 ` Ian Jackson
2010-11-19 13:42 ` Re: [Xen-API] " Gianni Tedesco
2010-11-18 10:50 ` [PATCH 3 of 4] add configure-time option to use system installed Xen library bindings Ian Campbell
2010-11-18 10:50 ` [PATCH 4 of 4] REBASE-4.1: default to using system installed bindings if Xen is available Ian Campbell
2010-11-18 10:50 ` [PATCH 0 of 6] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-api.hg Ian Campbell
2010-11-18 10:50 ` [PATCH 1 of 6] Query rpm to find build directories Ian Campbell
2010-11-18 10:50 ` [PATCH 2 of 6] xc: use Xcext library rather than Xc where appropriate Ian Campbell
2010-11-18 10:50 ` [PATCH 4 of 6] REBASE-4.1: xenops: update PV console path in xenstore Ian Campbell
[not found] ` <patchbomb.1290077422-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-11-18 10:50 ` [PATCH 3 of 6] REBASE-4.1: vmops: apply CPUID to all domains Ian Campbell
2010-11-18 10:50 ` [PATCH 5 of 6] HACK/PoC: adjust for minor differences in upstream Xc bindings Ian Campbell
2010-11-18 10:50 ` [PATCH 6 of 6] HACK: xenguest updates for Xen 4.0/4.1 Ian Campbell
2010-11-18 10:50 ` [PATCH 0 of 7] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-unstable.hg Ian Campbell
[not found] ` <patchbomb.1290077432-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-11-18 10:50 ` [PATCH 1 of 7] libxc: rename safe_strerror to _xc_safestrerror and pass XC handle Ian Campbell
2010-11-18 10:50 ` [PATCH 4 of 7] ocaml: resynchronise uuid library with xen-api-libs.hg Ian Campbell
2010-11-18 11:32 ` Gianni Tedesco
2010-11-18 12:27 ` Ian Campbell
[not found] ` <1290083222.31507.5290.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-11-18 14:44 ` [Xen-devel] " Vincent Hanquez
2010-11-18 10:50 ` [PATCH 6 of 7] ocaml: xc bindings: use libxenctrl and libxenguest Ian Campbell
2010-11-18 10:50 ` [PATCH 7 of 7] HACK: Do not install some stuff which conflicts with out-off-tree XCP versions of the same Ian Campbell
2010-11-18 10:50 ` [PATCH 2 of 7] libxc: allow caller to specify no re-entrancy protection when opening the interface Ian Campbell
2010-11-18 10:50 ` [PATCH 3 of 7] ocaml: install built modules Ian Campbell
2010-11-18 10:50 ` [PATCH 5 of 7] ocaml: add dependency to module metadata Ian Campbell
2010-12-07 14:30 ` [Xen-devel] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) Ian Campbell
2010-12-07 14:32 ` [PATCH 0 of 5] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-unstable.hg Ian Campbell
[not found] ` <patchbomb.1291732371-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-12-07 14:32 ` [PATCH 1 of 5] ocaml: resynchronise uuid library with xen-api-libs.hg Ian Campbell
2010-12-07 14:32 ` [PATCH 2 of 5] ocaml: add dependency to module metadata Ian Campbell
2010-12-07 14:32 ` [PATCH 4 of 5] ocaml: evtchn+xc bindings: use libxenctrl and libxenguest Ian Campbell
2010-12-07 14:32 ` [PATCH 3 of 5] ocaml: rename Evtchn.bind_virq as Evtchn.bind_dom_exc_virq Ian Campbell
2010-12-07 14:32 ` [PATCH 5 of 5] HACK: Do not install some stuff which conflicts with out-off-tree XCP versions of the same Ian Campbell
2010-12-13 17:23 ` [PATCH 0 of 5] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-unstable.hg Stefano Stabellini
2010-12-15 11:03 ` Vincent Hanquez
2010-12-16 9:56 ` Ian Campbell
[not found] ` <m2n.s.1PPykG-000YDj@chiark.greenend.org.uk>
2010-12-14 19:22 ` [PATCH 1 of 5] ocaml: resynchronise uuid library with xen-api-libs.hg Ian Jackson
2011-01-06 17:38 ` Ian Jackson
[not found] ` <1291732233.13966.3198.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-12-07 14:32 ` [PATCH 0 of 3] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-dist-ocaml.hg Ian Campbell
2010-12-07 14:32 ` [PATCH 2 of 3] Define $(RPM) for use in Makefile Ian Campbell
[not found] ` <patchbomb.1291732364-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-12-07 14:32 ` [PATCH 1 of 3] Query rpm to find build directories Ian Campbell
2010-12-07 14:32 ` [PATCH 3 of 3] Install additional packages Ian Campbell
2010-12-08 18:19 ` [Xen-API] [PATCH 0 of 3] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-dist-ocaml.hg Dave Scott
2010-12-07 14:32 ` [PATCH 0 of 5] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-api-libs.hg Ian Campbell
2010-12-07 14:33 ` [PATCH 1 of 5] Query rpm to find build directories Ian Campbell
2010-12-07 14:33 ` [PATCH 4 of 5] REBASE-4.1: default to using system installed bindings if Xen is available Ian Campbell
[not found] ` <patchbomb.1291732379-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-12-07 14:33 ` [PATCH 2 of 5] xc: split xc non-upstream bindings into xcext module Ian Campbell
2010-12-07 14:33 ` [PATCH 3 of 5] add configure-time option to use system installed Xen library bindings Ian Campbell
2010-12-07 14:33 ` [PATCH 5 of 5] REBASE-4.1: xiu: add xenctrlosdep backend Ian Campbell
2010-12-07 14:33 ` [PATCH 0 of 6] XCP: Allow XCP to use ocaml library bindings in Xen unstable (which will become Xen 4.1) -- xen-api.hg Ian Campbell
[not found] ` <patchbomb.1291732388-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org>
2010-12-07 14:33 ` [PATCH 1 of 6] Query rpm to find build directories Ian Campbell
2010-12-07 14:33 ` [PATCH 2 of 6] xc: use Xcext library rather than Xc where appropriate Ian Campbell
2010-12-07 14:33 ` [PATCH 4 of 6] REBASE-4.1: xenops: update PV console path in xenstore Ian Campbell
2010-12-07 14:33 ` [PATCH 6 of 6] HACK: xenguest updates for Xen 4.0/4.1 Ian Campbell
2010-12-07 14:33 ` [PATCH 3 of 6] REBASE-4.1: vmops: apply CPUID to all domains Ian Campbell
2010-12-07 14:33 ` [PATCH 5 of 6] HACK/PoC: adjust for minor differences in upstream Xc bindings 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=4CE662D9.6030808@eu.citrix.com \
--to=vincent.hanquez@eu.citrix.com \
--cc=Ian.Campbell@eu.citrix.com \
--cc=xen-api@lists.xensource.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 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).