From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62211C5DF61 for ; Thu, 7 Nov 2019 10:30:54 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 357932085B for ; Thu, 7 Nov 2019 10:30:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="W8w6KWUU" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 357932085B Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id A7C016B0007; Thu, 7 Nov 2019 05:30:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A2CE56B0008; Thu, 7 Nov 2019 05:30:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F4796B000A; Thu, 7 Nov 2019 05:30:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0099.hostedemail.com [216.40.44.99]) by kanga.kvack.org (Postfix) with ESMTP id 78DCC6B0007 for ; Thu, 7 Nov 2019 05:30:52 -0500 (EST) Received: from smtpin28.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with SMTP id 12527180AD815 for ; Thu, 7 Nov 2019 10:30:52 +0000 (UTC) X-FDA: 76129113144.28.smell81_5eca62122924b X-HE-Tag: smell81_5eca62122924b X-Filterd-Recvd-Size: 7030 Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by imf12.hostedemail.com (Postfix) with ESMTP for ; Thu, 7 Nov 2019 10:30:51 +0000 (UTC) Received: by mail-wr1-f67.google.com with SMTP id i10so2382450wrs.7 for ; Thu, 07 Nov 2019 02:30:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=gfnRKWxQsfmZZ793n5BwE5j+nRq6Ghk0lwXjK8nGNg4=; b=W8w6KWUUIsD8SNm3fEOt63C0WziWBHlY5+jQTLV9oif/4xQivpEBP8wLz2NBDC4BoA VzM+6rhNFvXVazUoh2t6BX8TnvfZqQVhkjbhNJ50JHdzIXIr/juuZxbAGmS6LrcHBLHN yPBoutzxEnUU7e2+G1w/VUBNTk9uO5NYtLNs0uvcJXHGA9tC4VST8JCqY5DyEpJMAzP6 6Jb4zEo5RKvCNg8LjfGV4oVJ+ssY4+sZxTefboxypOV89bixhQ1ZfcfzGxZ/eIv+nQOc bq4NdOLCYxqzSYbpQCg5VhZ3LbsL+D8MNwEKbyuKzEDtqJNqfgYF63csBoBFelPOjtPX xxXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=gfnRKWxQsfmZZ793n5BwE5j+nRq6Ghk0lwXjK8nGNg4=; b=DdRoaBJBuxXsM0Zt39lz7HmCJFNRK9H5x5i5uyUO8AvBmkOfodNNRE368RtaKa13R2 cfCeZ6u7DR8zmTL6qXF+x2CJpFKnawmauJtAW2g9bqFj1E4ZQ6AU7NiyV9/fJ6ysJIws yWFGopothmFAf7gQgFzR7a7ox5LJeQRb3B7CPBhZdR0t4xOHdlzVJDvzDwOBwkmGWFDH slfjrpeOrQIkdiJ76/8iJefL6C6rnyK0mIWuxYMTIMShlSZhGvxgxvzOjAB3AsMnkDGM TQGjKNWckG0Ef0cgqjdl6Cn7uvtAf84zXDHXQyozcGPpqDOGMv0k94Heh0o0KRmlHjTn TwbA== X-Gm-Message-State: APjAAAUGS60CWTAtnslQxB3Wxj1gQ8jIeEZLtnucoZeSAV8Ru58dq7As FkS2N6oRky/FBCK7P4sRoFzR6bWR4JA8BgeVh+PPCg== X-Google-Smtp-Source: APXvYqxhmmMoI7bLV2Ag1gp+TD1UR0OWDrQsZP5WCeeeJEnUrUjYAxM6OEPN6ZAY2uVYvCRILEnZwz9On23bC1l5dsw= X-Received: by 2002:adf:9ec7:: with SMTP id b7mr2106602wrf.221.1573122649537; Thu, 07 Nov 2019 02:30:49 -0800 (PST) MIME-Version: 1.0 References: <20191030142237.249532-1-glider@google.com> <20191030142237.249532-3-glider@google.com> <20191101055033.GA226263@google.com> <20191107060816.GA93084@google.com> <47fdac13-fa2c-2acd-2480-5e6d4db208f8@virtuozzo.com> <6875c6e6-2f1f-f8e6-e5d7-d451c48397ff@virtuozzo.com> In-Reply-To: <6875c6e6-2f1f-f8e6-e5d7-d451c48397ff@virtuozzo.com> From: Alexander Potapenko Date: Thu, 7 Nov 2019 11:30:38 +0100 Message-ID: Subject: Re: [PATCH RFC v2 02/25] stackdepot: prevent Clang from optimizing away stackdepot_memcmp() To: Andrey Ryabinin Cc: Arnd Bergmann , Sergey Senozhatsky , Vegard Nossum , Dmitry Vyukov , Linux Memory Management List , Al Viro , Andrew Morton , Andy Lutomirski , Ard Biesheuvel , Christoph Hellwig , Dmitry Torokhov , Eric Dumazet , Eric Van Hensbergen , Greg Kroah-Hartman , Harry Wentland , Herbert Xu , Ingo Molnar , Jens Axboe , "Martin K . Petersen" , Martin Schwidefsky , "Michael S. Tsirkin" , Michal Simek , Petr Mladek , Sergey Senozhatsky , Steven Rostedt , Takashi Iwai , "Theodore Ts'o" , Thomas Gleixner , Wolfram Sang , Vasily Gorbik , Ilya Leoshkevich , Mark Rutland , Matthew Wilcox , Randy Dunlap , Andrey Konovalov , Marco Elver , Nick Desaulniers , clang-built-linux Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Nov 7, 2019 at 11:19 AM Andrey Ryabinin w= rote: > > > > On 11/7/19 1:00 PM, Arnd Bergmann wrote: > > On Thu, Nov 7, 2019 at 10:46 AM Andrey Ryabinin wrote: > >> On 11/7/19 12:22 PM, Alexander Potapenko wrote: > >>> On Thu, Nov 7, 2019 at 10:04 AM Arnd Bergmann wrote: > >>>> On Thu, Nov 7, 2019 at 7:08 AM Sergey Senozhatsky > >>>> wrote: > >>>> The normal way to do a volatile access would be > >>>> READ_ONCE()/WRITE_ONCE(), but that seems stronger than > >>>> the barrier() here. I'd just stick to adding a barrier. > >>> I actually like the READ_ONCE idea more, as READ_ONCE is really a > >>> documented way to prevent the compiler from merging reads, which is > >>> what we want here. > >> > >> I would rather go with -fno-builtin-bcmp or maybe even -fno-builtin if= that works. > > > > The commit message for 5f074f3e192f ("lib/string.c: implement a basic b= cmp") > > mentions that -fno-builtin-bcmp did not work for LTO when the global b= cmp() > > help was added. I don't know whether the same applies here, but my gues= s is > > that it's the same issue. > > But we don't do LTO. I don't think not doing LTO now is a valid argument, as some distributions may start doing LTO in the future. (Android already does LTO, by the way) Regarding this particular case, -fno-builtin-bcmp is insufficient, as Clang falls back to memcmp() in that case. Building with -fno-builtin-bcmp -fno-builtin-memcmp does the trick, but we'd probably better use -fno-builtin just to avoid future surprises. > -- > You received this message because you are subscribed to the Google Groups= "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an= email to clang-built-linux+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgi= d/clang-built-linux/6875c6e6-2f1f-f8e6-e5d7-d451c48397ff%40virtuozzo.com. --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg