* Passing data from hypervisor to dom0 application
@ 2007-07-14 7:16 Abhinav Srivastava
2007-07-14 8:57 ` Mats Petersson
0 siblings, 1 reply; 2+ messages in thread
From: Abhinav Srivastava @ 2007-07-14 7:16 UTC (permalink / raw)
To: xen-devel
[-- Attachment #1.1: Type: text/plain, Size: 1089 bytes --]
Hi there,
I am working with Xen 3.0.3 in para-virtualized mode. I am intercepting guest virtual machines hypercalls inside the the hypervisor and trying to pass this data to dom0 monitoring application. To pass data, I shared a page between dom0 and hypervisor using alloc_hypertrace_buf function and used memcpy to write data on the shared page. To inform userspace application about the data, i used virq.
The problem that i am facing in this whole process is since hypercall data is coming so fast userspace application is not able to show all the hypercalls.
I am not able to think of exact reason of this behavior. Is it because of virq's which are sent by Xen? or Xen is sending so fast that userspace application is not able to read it? or Is it some pending interrupt problem?
I would really appreciate any response in this regard. If there is any other (better way) to pass such data from hypervisor to dom0 userspace then please let me know.
Thanks & Regards,
Abhinav
---------------------------------
Heres a new way to find what you're looking for - Yahoo! Answers
[-- Attachment #1.2: Type: text/html, Size: 1205 bytes --]
[-- Attachment #2: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Passing data from hypervisor to dom0 application
2007-07-14 7:16 Passing data from hypervisor to dom0 application Abhinav Srivastava
@ 2007-07-14 8:57 ` Mats Petersson
0 siblings, 0 replies; 2+ messages in thread
From: Mats Petersson @ 2007-07-14 8:57 UTC (permalink / raw)
To: Abhinav Srivastava, xen-devel
At 08:16 14/07/2007, Abhinav Srivastava wrote:
>Hi there,
>
>I am working with Xen 3.0.3 in para-virtualized mode. I am
>intercepting guest virtual machines hypercalls inside the the
>hypervisor and trying to pass this data to dom0 monitoring
>application. To pass data, I shared a page between dom0 and
>hypervisor using alloc_hypertrace_buf function and used memcpy to
>write data on the shared page. To inform userspace application about
>the data, i used virq.
>
>The problem that i am facing in this whole process is since
>hypercall data is coming so fast userspace application is not able
>to show all the hypercalls.
>I am not able to think of exact reason of this behavior. Is it
>because of virq's which are sent by Xen? or Xen is sending so fast
>that userspace application is not able to read it? or Is it some
>pending interrupt problem?
I don't know what the problem with this approach is, but two things
come to mind:
1. Using more than one buffer and/or a larger buffer would make the
overhead of the user-mode application smaller, which may help. More
than one buffer would help in the respect that hypervisor can go on
filling the next buffer after Dom0 app is starting it's copy, which
may help to overcome any latency problems.
2. Isn't xentrace with suitable mask able to do exactly what you
want? [I have only used xentrace to follow HVM type calls, but I
expect that it's able to trace hypercalls too]. If it's not able to
do that, you may want to consider adding some tracing to the
hypercalls using the xentrace method, rather than inventing your own
method of tracing - unless there is some major reason for NOT using
Xentrace of course.
--
Mats
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-07-14 8:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-14 7:16 Passing data from hypervisor to dom0 application Abhinav Srivastava
2007-07-14 8:57 ` Mats Petersson
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.