All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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
     [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 4 of 6] REBASE-4.1: xenops: update PV console path in xenstore 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
     [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-07 14:32         ` [PATCH 2 of 3] Define $(RPM) for use in Makefile 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
     [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 4 of 5] REBASE-4.1: default to using system installed bindings if Xen is available 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 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.