Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1676218pxf; Fri, 9 Apr 2021 14:42:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxIDNQXtNEdh/A1+7haagM0S2KzxaQ0Ak9tCsm6Hx95JtU3BiKRVlL5t9v/XAND3yCD6Z1z X-Received: by 2002:aa7:dc15:: with SMTP id b21mr19427626edu.350.1618004547991; Fri, 09 Apr 2021 14:42:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618004547; cv=none; d=google.com; s=arc-20160816; b=tIX/VqwcKwHnrKD+lxZnOZtcVKdbXa62T2x7cTTJAG4LD//Ywn7ITrPj6ny/tLMEik tY0LgyU7pu369+j1GyfpYZevIpIeb8T+1BDo11fE4fenupazwuV3eDNTYMIDnPAhA9FG C7rMaMotJoNzwghYHV9hgS5JK6x8fNhxfnFOtDVs0gFwhbHrw2YEQ/2hu1Ti4QkzUNVJ n63Zz9g8YDyTXWGDTgloROCWfQZCRorfvR5TKDhZFHMOTeGJgGR2MnVnHHwZMbq/SLeD /iZWIR8NAzqLgtc6NtDXyWcDALw8uhzbwDC+F8QWtzWk0P69d4lAKP65q7OYTaOG++lP m9lA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=P/s2Ue8tfUf8Zu4yN9wAj8vX3TNV9TrqTppYCfStYUo=; b=wlHrpcWXgNODD7XQyUHNawVCyA7Kzoh1H424J845IGmvj6xzfDcwbwAsm9nuoaUeAX qer9x8wY0K0q5ZY+LahnBSgKMuzB9dYciyWRqm+af58OHxYXBVZMIPUwK0urjRxKElWO U89A2XG6fbXnZXijlOIKgZnV3JwLIC0/VBAz1ia5uEpNyXxMDTUt41xxqwDDVEetoaCK j4JU7VTga09UNGPk+Re06XIsyMLQbcmf9GGEdeR7SZq2TFmZ/7IdaA/7cOQKznYWzhEm Qw44690lil9n7eOj9uDw4Fkh78tkpHMeGjUu+LO92CljbLEXJUK7QLy/TMF2FP4BEnWL lTYA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=NwBfR88B; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bm15si2892176edb.456.2021.04.09.14.42.04; Fri, 09 Apr 2021 14:42:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=NwBfR88B; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234749AbhDIVlZ (ORCPT + 99 others); Fri, 9 Apr 2021 17:41:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38592 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234079AbhDIVlX (ORCPT ); Fri, 9 Apr 2021 17:41:23 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E975C061762; Fri, 9 Apr 2021 14:41:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=P/s2Ue8tfUf8Zu4yN9wAj8vX3TNV9TrqTppYCfStYUo=; b=NwBfR88B939aVbdUd4cBDIJkvE lkUYFuPgXl3kUsRdPDUa8snafgqQ6RiPPmXv9tB/TGVwZ8bBKUncSGQJQ+7A3Y+rhj96J5aWMKo+n KC/NPmn8opCmHn5Op6jv3uaoxGc8t6e66pxky3AA2dnk5D485SxhylLEnSO4R2yGr8SgRxfS92yY1 5clT21rnYe2f0IeIBYTyJS0grml3zhPdmkR/twnrKmQGkj+05rAwW5LlJMf6AmrggSDaOO8wHtGCU aLxdEdXTXsklja4KBFJUNFi/TLMux0hpdZ7c3gJ0IDyJXqdD9h8Dvoem3lwyDpZfuF2S3F+x3cM4Y 6Yz/HyPQ==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=worktop.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.94 #2 (Red Hat Linux)) id 1lUyr3-000ysO-Hi; Fri, 09 Apr 2021 21:40:12 +0000 Received: by worktop.programming.kicks-ass.net (Postfix, from userid 1000) id BF5D998647F; Fri, 9 Apr 2021 23:39:49 +0200 (CEST) Date: Fri, 9 Apr 2021 23:39:49 +0200 From: Peter Zijlstra To: David Malcolm Cc: Ard Biesheuvel , linux-toolchains@vger.kernel.org, Linux Kernel Mailing List , Josh Poimboeuf , Jason Baron , "Steven Rostedt (VMware)" Subject: Re: static_branch/jump_label vs branch merging Message-ID: <20210409213949.GA33256@worktop.programming.kicks-ass.net> References: <5f78b7e2f9ae937271ef52ee9e999a91c2719da9.camel@redhat.com> <3c062f70ffef2dcd48a661f7c8162fb8fbaf6869.camel@redhat.com> <0a9da587b0330bafdf612c3d51285e144b0b9e46.camel@redhat.com> <5a07bde1a9fa9a056a19637399b0635252ddb303.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5a07bde1a9fa9a056a19637399b0635252ddb303.camel@redhat.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 09, 2021 at 05:07:15PM -0400, David Malcolm wrote: > You've built a very specific thing out of asm-goto to fulfil the tough > requirements you outlined above - as well as the nops, there's a thing > in another section to contend with. > > How to merge these asm-goto constructs? By calling the function less, you emit less of them. Which then brings us back to the whole pure/const thing. > Doing so feels very special-case to the kernel and not something that > other GCC users would find useful. Doesn't it boil down to 'fixing' the pure/const vs asm-goto interaction? I could imagine that having that interaction fixed could allow other creative uses.