This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] powerpc: Use aligned stores in memset
- From: Florian Weimer <fw at deneb dot enyo dot de>
- To: Steven Munroe <munroesj at linux dot vnet dot ibm dot com>
- Cc: Rajalakshmi Srinivasaraghavan <raji at linux dot vnet dot ibm dot com>, libc-alpha at sourceware dot org
- Date: Tue, 12 Sep 2017 16:08:43 +0200
- Subject: Re: [PATCH] powerpc: Use aligned stores in memset
- Authentication-results: sourceware.org; auth=none
- References: <1503033107-20047-1-git-send-email-raji@linux.vnet.ibm.com> <b8fd7e0c-8108-a808-a9a2-0c2df8961275@redhat.com> <e04fa334-d4e1-0660-ec26-024e97024761@linux.vnet.ibm.com> <e7daca03-3e86-8cdf-9d42-4e7effb02c63@redhat.com> <d7115391-1e52-5ecb-dce6-57895aaed268@redhat.com> <1505223476.12360.14.camel@oc7878010663>
* Steven Munroe:
>> This means that GCC introduced an unaligned store, no matter how memset
>> was implemented.
>>
> C will do what ever the programmer wants. We can not stop that.
That's not true. If some specification says that for POWER, mem* must
behave in a certain way, and the GCC/glibc combiniation does not do
that, that's a bug on POWER.
The programmer only sees the entire toolchain, and it is our job to
make the whole thing compliant with applicable specifications, even if
this means coordinating among different projects.
> And in user mode and cache coherent memory this is not a problem as
> Adhemerval explained.
Obviously not, otherwise we wouldn't be changing glibc.
> So we are not going to degrade the performance of general applications
> for a tiny subset of specialized device drivers. Those guy have to know
> what they are doing.
>
> But in the library (like libc) that might be called from a user mode
> device driver (Xorg for example) and access Cache inhibited memory the
> memcpy implementation has to check alignment and size and using the
> correct instructions for each case.
>
> That is what we are doing here.
Sorry, but you are contradicting yourself. I very much doubt the
Xorg-compatible memcmp is an improvement across the board.