Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Xen IPC

derekdriley wrote:
> Hello-
> I am working on a project to modify Xen to precisely control the execution > times of the individual guest domains, and I need some help. I considered > modifying the XM python program, but it is not precise or fast enough for my
> application.
> I want to be able to pass short, simple message quickly between an
> application-level process and the Xen kernel asynchonously. I found an IPC
> mechanism designed for the method called netlink
> (http://www.linuxjournal.com/article/7356), but I am not sure how to
> incorporate it into the Xen kernel. When I attempt to recompile the kernel
> with netlink, I get errors that seem to stem from type issues I am not
> familiar with.
> 2 questions:
> Is it possible to use a mechanism such as netlink with Xen?  If so, how?

Depends on what you mean with "asynchronous" (to what?)

The hypercall API is very similar to syscalls, decent, and nothing prevents you from using queue mechanisms to post multiple events/ops in a row (Xen already does that for frequent and performance critical operations like MMU/TLB ops).

It is also expected to be fairly fast; domains communicate with hypervisor 99% of the time through hcalls.

> Is there other functionality within Xen that could be used with minimal
> modification to do IPC within domain0?

I don't think so. But the hypercall API is fairly simple to use once you are familiar with it. Have a look around the sysctls, which are hcalls used by xentools to set/obtain information from hypervisor.

Example: tools/libxc/xc_misc.c (within Xen package).

> Any help/advice would be greatly appreciated.  Thanks!

You should bring this discussion to xen-devel (xen-devel%lists.xensource.com@localhost). It would be more appropriate.

Jean-Yves Migeon

Home | Main Index | Thread Index | Old Index