[Xen-devel] Re: [RFC PATCH 15/35] subarch support for controlling interr
On Tue, May 09, 2006 at 11:56:28PM +0200, Andi Kleen wrote:
> > Everything in line:
> > -rwxr-xr-x 1 cl349 cl349 2633640 May 9 19:42 vmlinux-inline-stripped
> > Everything out of line:
> > -rwxr-xr-x 1 cl349 cl349 2621352 May 9 19:45 vmlinux-outline-stripped
> > Additionally, I changed did a build with only __sti and __restore_flags
> > out of line and the others in line:
> > -rwxr-xr-x 1 cl349 cl349 2617256 May 9 19:50 vmlinux-hybrid-stripped
> > __sti and __restore_flags are the ones which generate more code,
> > so it seemed more sensible to make the out of line.
> > Any conlusions?
> It looks like hybrid is a clear winner at least from the code size, isn't it?
Yes, which is why I measured that one as well.
Now, the original concern was that we have the five operations implemented
as multi-line macros and doing a hybrid solution doesn't really address
Also, it's not quite clear to me what's the best way to turn three of
the five into functions, whether inline or not.
For measuring the sizes, I did the following:
add void ___restore_flags(unsigned long *x) with the implementation
#define __restore_flags(x) ___restore_flags(&(x))
Alternatively, would it make sense to change __restore_flags to take
a pointer to flags instead? That would be quite an invasive change...
Xen-devel mailing list