This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [ping][PATCH, AVX512, x86_64] AVX-512 support in glibc for x86_64
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "Zamyatin, Igor" <igor dot zamyatin at intel dot com>
- Cc: "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>, "Joseph Myers (joseph at codesourcery dot com)" <joseph at codesourcery dot com>
- Date: Tue, 11 Mar 2014 12:39:06 -0700
- Subject: Re: [ping][PATCH, AVX512, x86_64] AVX-512 support in glibc for x86_64
- Authentication-results: sourceware.org; auth=none
- References: <0EFAB2BDD0F67E4FB6CCC8B9F87D756942904274 at IRSMSX101 dot ger dot corp dot intel dot com> <CAMe9rOooUo59_GKz067DRijcDTocM7B40SHZX4EhmLn8zfxy2Q at mail dot gmail dot com> <CAMe9rOpqrQQxFzTbJ1Xze+NKyK1xdRh+2b=FYWZMv3OC6TUOUA at mail dot gmail dot com>
On Tue, Mar 4, 2014 at 10:50 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Feb 20, 2014 at 10:25 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Wed, Feb 12, 2014 at 4:14 AM, Zamyatin, Igor <igor.zamyatin@intel.com> wrote:
>>> Ping!
>>>
>>>> -----Original Message-----
>>>> From: Zamyatin, Igor
>>>> Sent: Wednesday, February 05, 2014 1:50 PM
>>>> To: Zamyatin, Igor; Joseph Myers
>>>> Cc: libc-alpha@sourceware.org; hjl.tools@gmail.com
>>>> Subject: RE: [PATCH, AVX512, x86_64] AVX-512 support in glibc for x86_64
>>>>
>>>> Ping.
>>>>
>>>> Is it ok for trunk whenever it's allowed to commit?
>>>>
>>>> Thanks,
>>>> Igor
>>>>
>>>> > -----Original Message-----
>>>> > From: libc-alpha-owner@sourceware.org [mailto:libc-alpha-
>>>> > owner@sourceware.org] On Behalf Of Zamyatin, Igor
>>>> > Sent: Tuesday, January 28, 2014 4:57 PM
>>>> > To: Joseph Myers
>>>> > Cc: libc-alpha@sourceware.org; hjl.tools@gmail.com
>>>> > Subject: RE: [PATCH, AVX512, x86_64] AVX-512 support in glibc for
>>>> > x86_64
>>>> >
>>>> > >
>>>> > > On Fri, 24 Jan 2014, Zamyatin, Igor wrote:
>>>> > >
>>>> > > > Attached patch adds AVX512 (new Intel ISA extension, see e.g.
>>>> > > > http://software.intel.com/en-us/intel-isa-
>>>> > > extensions?page=1&wapkw=soft
>>>> > > > ware%20development%20manual%20avx512#pid-16007-1495
>>>> > > > ) support in Glibc for x86_64.
>>>> > >
>>>> > > Do you plan to add support for i386 as well, or is there a reason no
>>>> > > such support is needed (that these registers are call-clobbered and
>>>> > > not used for argument passing / return, so libc needs no special
>>>> > > knowledge
>>>> > of them?)?
>>>> > > (Cf. bug 15402 suggesting running the AVX audit tests on i386, which
>>>> > > would make sense if they are valid for x86 even if no associated
>>>> > > changes to the dynamic linker are needed.)
>>>> > >
>>>> > > > * sysdeps/x86_64/tst-audit9.c: New file.
>>>> > > > * sysdeps/x86_64/tst-auditmod9a.c: New file.
>>>> > > > * sysdeps/x86_64/tst-auditmod9b.c: New file.
>>>> > >
>>>> > > Any new test should have a copyright / license notice immediately
>>>> > > following the first line saying what the function of the file is.
>>>> >
>>>> > Updated patch attached.
>>>> >
>>>> > Thanks,
>>>> > Igor
>>>> >
>>
>> A couple comments:
>>
>> 1. i386 audit doesn't support xmm nor ymm registers. Adding
>> xmm/ymm/zmm register support to i386 audit is orthogonal to
>> x86-64 audit. It should be evaluated separately from adding
>> zmm register support to x86-64 audit.
>> 2. Adding zmm register support to x86-64 ld.so has no performance
>> impact on non-threaded applications, except that when LD_AUDIT
>> is used.
>> 3. Adding zmm register support to _dl_x86_64_save_sse and
>> _dl_x86_64_restore_sse will have some overhead. They are
>> called only when RTLD_PREPARE_FOREIGN_CALL
>> is used. Among all glibc build/tests, it happens with
>>
>> /export/build/gnu/glibc/build-x86_64-linux/dlfcn/glrefmain:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/constload1:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/reldep:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/lateglobal:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/dblload:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/reldep5:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/reldep7:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/dblunload:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/tst-deep1:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/unload4:
>> /export/build/gnu/glibc/build-x86_64-linux/elf/reldep6:
>>
>> Do they address all concerns people have?
>>
>
> Any feedbacks/comments/objections?
>
I will check it in after 24 hours.
--
H.J.