From patchwork Mon Nov 14 11:43:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Slaby X-Patchwork-Id: 19747 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp2097937wru; Mon, 14 Nov 2022 03:48:39 -0800 (PST) X-Google-Smtp-Source: AA0mqf5dcCY6ZN7gIptohW75Q1haAVEzRm/FloZkT/Ur+zQklWFvY1DSEtL5DTg2TsTDCOA13CRx X-Received: by 2002:a50:fc12:0:b0:461:5b2f:2d8f with SMTP id i18-20020a50fc12000000b004615b2f2d8fmr10956196edr.348.1668426519041; Mon, 14 Nov 2022 03:48:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668426519; cv=none; d=google.com; s=arc-20160816; b=N9RiOdX/Tz6H9Jbux9EuFTHEuCf+Xa2q1Ms/urobUn7msQg7COKnYJXsL3v8JHfQ4B XIgZss7JMw/fxsf8lSPQwDZWiLNknT4BK+UabkgInIPJ0+URT6+VxT88qN47qELc9NT0 pyGhz0Lj4l3/W3RPWses1+U0mNdnEvZslFJFoZGFrFMLgL1MMDK0qyHJq9zExI8FigT+ Zf+iw9wr+fgN65+iDQPL7xRnGI4Emnw2HST93NYal1YWfPOsWg3NQi51C9gGcNC7X5kH JhFrrjPtxSvcdt/FJaOXjLZ97U3HuD85g+dkXYhe/eOBu0HEqeWPwJrdAt2Qv2IJraqB Qcfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=lxIuDLiOInZdsS4/gBo+k/NSAEX6MF27BHlT7LCFwQc=; b=Kag/UZHEI6JvrAL7KrW7pK9J5c6IFvwjTrIhDWVEMhqjsu4/jZCQjjgL+6UuZzlYgW kFvogV8On+FgfX/UZRLCgnB6vD+Coj+jmiR36RpopnwCLZCYppdRnBgHOuoXiHfhzAkj KTXFLUkRmMG1VYhjV+OXx+SBCUmzYHSl7I6gY4asCi03/tESUNKiL2mwFVXcUYJs17wm XaDm/fVYYBuqf6qJmy8fyB88rz8AbVhiMxws+85CL5ijevRJg+VaXTeISVXrPmCCrl+N 6jzF7JNmfugAeI81Q1BQSzbG3LW5oUe5YByXpr8sJ9fCW8zCExnGYKtN6YIQYw/SrI+J o3Bw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=rXbgHJts; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b18-20020a056402279200b0046762f4cc79si8741405ede.137.2022.11.14.03.48.15; Mon, 14 Nov 2022 03:48:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=rXbgHJts; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236536AbiKNLpw (ORCPT + 99 others); Mon, 14 Nov 2022 06:45:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41176 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236069AbiKNLpS (ORCPT ); Mon, 14 Nov 2022 06:45:18 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B1C3823158 for ; Mon, 14 Nov 2022 03:44:43 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4A2946106E for ; Mon, 14 Nov 2022 11:44:43 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8FE15C433C1; Mon, 14 Nov 2022 11:44:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1668426282; bh=EmZ2uX2gI3bbUDmWCTMpWHApcz7gKOlAwlCJ75sHcrw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rXbgHJtsiDuv0sPyHOGdWkcq8w522U/y0OQB4TPexKtwC6oYufrIMP+/qxIDlYWk7 y1TlsjFwRaS2LaJ+1uyhtVefA2TVGcMbApsz8lszDYncpAAkdGAAbGwc8xb0gYl+Hi XAgx5aC86ODFPR6LrCi/vGM9Ms8+wdHeOXhQNXiAvhaBBAeaz4yyONF2qErsOLFJZ8 +PWMTtuOxKG/O09KLA3gBJS3DPdhq+ZmNLPI1wccXLRNAxJ/WfNa7F6pVV+DLIEM6m k/gXsKrOGrMh/KX68S47Z2mr1wnI/NN+epgXaNLFiUkewr5enPvFpD4TYT/dWcmP7i xITP5aobDF4Wg== From: "Jiri Slaby (SUSE)" To: linux-kernel@vger.kernel.org Cc: Andi Kleen , Martin Liska , Jiri Slaby Subject: [PATCH 20/46] softirq, lto: Mark irq_enter/exit_rcu() as __visible Date: Mon, 14 Nov 2022 12:43:18 +0100 Message-Id: <20221114114344.18650-21-jirislaby@kernel.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221114114344.18650-1-jirislaby@kernel.org> References: <20221114114344.18650-1-jirislaby@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749472005094485029?= X-GMAIL-MSGID: =?utf-8?q?1749472005094485029?= From: Andi Kleen Symbols referenced from assembler (either directly or e.f. from DEFINE_STATIC_KEY()) need to be global and visible in gcc LTO because they could end up in a different object file than the assembler. This can lead to linker errors without this patch. So mark irq_enter_rcu() and irq_exit_rcu() as __visible. Signed-off-by: Andi Kleen Signed-off-by: Martin Liska Signed-off-by: Jiri Slaby --- kernel/softirq.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/softirq.c b/kernel/softirq.c index c8a6913c067d..9d62e09c9581 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -604,7 +604,7 @@ asmlinkage __visible void __softirq_entry __do_softirq(void) /** * irq_enter_rcu - Enter an interrupt context with RCU watching */ -void irq_enter_rcu(void) +__visible void irq_enter_rcu(void) { __irq_enter_raw(); @@ -657,7 +657,7 @@ static inline void __irq_exit_rcu(void) * * Also processes softirqs if needed and possible. */ -void irq_exit_rcu(void) +__visible void irq_exit_rcu(void) { __irq_exit_rcu(); /* must be last! */