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

Re: [Xen-devel] dom0 system call efficiency on x86_64

On 25/02/2012 09:59, "Liu.yi" <liu.yi24@xxxxxxxxxx> wrote:

> hi,all
> I found that the time wasted on calling `sendto` system call is nearly five
> times than native kenrel.
> After reading some paper and code, I understand that xen seems deal with
> system call as follows:
>     xen's subarch_percpu_traps_init installs syscall handler
> `syscall_enter`.
>     dom0 excutes syscall_init, which installs `system_call`, but
> `wrmsrl(MSR_LSTAR, system_call);` does nonting in dom0.
>     when userland application call sendto system call, xen's syscall_enter
> handler excutes, which calls toggle_guest_mode to switch to pseudo-kernel
> mode.
>     create_bounce_frame call guest os's sys_sendto handler.
>     guest os finaly call iret hypercall return to xen, which calls
> toggle_guest_mode again to switch back to userland.
> Are these correct?
> If that's true, it means that the efficiency of system call in dom0 is very
> terrible, because of long call path and two toggle_guest_mode calls which
> will invalidates all tlbs.

Unfortunately true.

> Is there any optimization ways to deal with x86_64's system call?

Run PV guest in an HVM container, which provides sufficient protection to
allow us to have guest applications syscall directly into guest OS. Mukes
Rathor at Oracle (cc'ed) is working on this.

 -- Keir

> Thanks in advence.
> --
> View this message in context:
> http://xen.1045712.n5.nabble.com/dom0-system-call-efficiency-on-x86-64-tp55148
> 85p5514885.html
> Sent from the Xen - Dev mailing list archive at Nabble.com.
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.