This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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, mips] Improved memset for MIPS


On 09/10/2013 06:35 PM, Carlos O'Donell wrote:
> On 09/10/2013 05:12 PM, Steve Ellcey wrote:
>> On Tue, 2013-09-10 at 17:01 -0400, Carlos O'Donell wrote:
>>
>>>> Now that I can see the results of 'make bench' I do have a question,
>>>> what is the difference between the results in bench-memset.out and
>>>> bench-memset-ifunc.out?  MIPS doesn't yet support IFUNC.  It looks like
>>>> the results in the two files are pretty close, so maybe they are
>>>> identical runs on machines with no IFUNC?
>>>
>>> You get the default implementation of __libc_ifunc_impl_list (the function
>>> used by the testing infrastructure to iterate the functions implemented
>>> as ifuncs) which adds no additional functions to the test list. You still
>>> test the usual defaults e.g. simple, builtin, and original function entry.
>>> Therefore it's the same as the non-IFUNC version with the results being
>>> the same modulo testing variance.
>>>
>>> Does that answer your question?
>>
>> I think so, but just to be clear: If I did have IFUNC and 4 different
>> implementations of memset (for example), would the testing
>> infrastructure run and benchmark all 4 versions of memset?
> 
> Yes.

Modulo hardware support obviously.

All IFUNC functions are registered at runtime with a "usable"
flag indicating if the present hardware can run that function.

The test infrastucture uses "usable" to decide to test that
function or not.

Cheers,
Carlos.


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