This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Add AVX support to x86-64 _dl_runtime_profile


H.J. Lu wrote:
>> - - the decision whether to use xmm or ymm content is not all or nothing.
>>  it's per register
> 
> What happens when both xmm1 and ymm1 are modified?

That's not valid.  Each audit module will only modify the xmm or ymm
register.

Even going forward this is an issue.  What do we tell people?  Don't
modify xmm ever again?  That's unreasonable since that's all that is
portably possible.


>> - - the test for AVX availability should be done only once.  It should
>>  move into the code which selected which trampoline code to use
> 
> Can't we extend IFUNC support to ld.so?

It's really not worth the effort, is it?  The conditional jumps aren't
that expensive.  And using the vmovdqa instruction instead of movaps
cannot give you that much benefit, if any.


>> - - the XMM restoration when YMM is available is not enough.  If there
>>  are stacked audit modules we have to check whether the XMM part is
>>  modified, propagate the new content if necessary into the YMM
>>  element, and update the "old value" field
> 
> Do you have a testcase?

Have a function which takes two xmm parameters.

In audit module 1, intercept the function and change parameter 1 with
xmm and parameter 2 with ymm.

In audit module 2, installed at the same time, intercept the same
function and change parameter 1 with ymm and parameter 2 with xmm.

-- 
â Ulrich Drepper â Red Hat, Inc. â 444 Castro St â Mountain View, CA â


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]