From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 105358 invoked by alias); 12 Sep 2017 17:04:30 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 105344 invoked by uid 89); 12 Sep 2017 17:04:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=no version=3.3.2 spammy=Hx-languages-length:1595, coherent, apparent, H*M:7e2b X-HELO: mx1.redhat.com DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com ED9DC356E6 Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=fweimer@redhat.com Subject: Re: [PATCH] powerpc: Use aligned stores in memset To: munroesj@linux.vnet.ibm.com Cc: Rajalakshmi Srinivasaraghavan , libc-alpha@sourceware.org References: <1503033107-20047-1-git-send-email-raji@linux.vnet.ibm.com> <1505223476.12360.14.camel@oc7878010663> <87wp54vwk4.fsf@mid.deneb.enyo.de> <1505225800.12360.28.camel@oc7878010663> From: Florian Weimer Message-ID: Date: Tue, 12 Sep 2017 17:04:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <1505225800.12360.28.camel@oc7878010663> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2017-09/txt/msg00519.txt.bz2 On 09/12/2017 04:16 PM, Steven Munroe wrote: > On Tue, 2017-09-12 at 16:08 +0200, Florian Weimer wrote: >> * 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. >> > What is the bug that you think we are not fixing? memset, as called by the C programmer, still uses unaligned stores. >> 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. >> > I was arguing against forcing GCC and compilers in general being forced > to be aware of Cache Inhibited memory. Programmers do. Exactly. In order to give programmers this choice, you need functions like device_memset, which are not subject to compiler or library optimizations which are not valid for device memory. > What are you arguing? If you want a memset which is compatible with device memory, you need to fix GCC *and* glibc. Just patching glibc is not enough because GCC optimizes memset in ways that are incompatible with your apparent goal.. Thanks, Florian