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

Re: [Xen-ia64-devel] paravirt_ops and its alternatives



On Tue, Feb 05, 2008 at 10:17:10PM +0800, Dong, Eddie wrote:
>       1: The coding style is not as good as original IVT code.

I have to agree with you here.


>               For example:
> #ifdef CONFIG_XEN
>         mov r24=r8
>         mov r8=r18
>         ;;
> (p10)   XEN_HYPER_ITC_I
>         ;;
> (p11)   XEN_HYPER_ITC_D
>         ;;
>         mov r8=r24
>         ;;
> #else
>               This kind of save/restore R8 in each replacement (MACRO)
>       is kind of not well tuned. We probably need a big IVT code
> change
>       to avoid frequent save/restore in each MACRO.
> 
>               This needs many effort. Of course taking shortcut before
> 
> into upstream.

Yes, such register value save/restore is suboptimal.
I'm guessing such overhead is relatively small compared to
the hyperprivops overhead which issues break instruction.
So presumably for reducing such overhead, it is necessary to replace 
those break instructions with fast hyperprivops using gate page.
Such optimization would be the next step after upstream merge though.

-- 
yamahata

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

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