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=-13.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham 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 8B7E5C63798 for ; Tue, 27 Oct 2020 16:46:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3CC8022258 for ; Tue, 27 Oct 2020 16:46:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603817204; bh=zj5ZXXeG17+GCCEz681qCJgISi9Mt9/vla4/MgoSMX0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=2V0vJWFJrnLv9doJl95GltrPNA7AomO7i9fHiVs1zCNkcmeJ3qKdmlgh7CQZHs2j8 n0yHIWN4SChMXi93jyyAFfzVsv6R7poK0k79I2KaO9GHEIdcpiPbdRGPAH5Up2FHxv 7kRybtBu2Xlobgtq60vhvMHjVuu8e7pMH4ApojS8= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1794972AbgJ0POj (ORCPT ); Tue, 27 Oct 2020 11:14:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:44244 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1793891AbgJ0PIx (ORCPT ); Tue, 27 Oct 2020 11:08:53 -0400 Received: from localhost.localdomain (i16-lef01-ix2-212-195-25-126.ft.lns.abo.bbox.fr [212.195.25.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6E507222C8; Tue, 27 Oct 2020 15:08:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603811333; bh=zj5ZXXeG17+GCCEz681qCJgISi9Mt9/vla4/MgoSMX0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=z1fc+Hgg+WlNfaaAYz3Nhj3sN4I6SMv7MIOZSq1d9hKcvVfpfPXMfXJ24LliglSVV 5NXgGGrXP/4bofJOlM19xec5nHg83T07C9lqe9BpVmiB+yM7aAKjWGdMcZY9/E76iy qRdXTvZYcpEPxEgJRBp9iFZ/75DEKAaZZUzYnFec= From: Frederic Weisbecker To: Peter Zijlstra Cc: LKML , Frederic Weisbecker , "Paul E . McKenney" , Thomas Gleixner , Phil Auld , Marcelo Tosatti Subject: [PATCH 2/5] context_tracking: Don't implement exception_enter/exit() on CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK Date: Tue, 27 Oct 2020 16:08:24 +0100 Message-Id: <20201027150827.148821-3-frederic@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201027150827.148821-1-frederic@kernel.org> References: <20201027150827.148821-1-frederic@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org An architecture that provides this Kconfig feature doesn't need to store the context tracking state on the task stack because its entry code has been sanitized such that fragile path aren't preemptible and special use of tracing and RCU read side critical sections in these areas have been explicitly annotated. Hence the exception_enter()/exception_exit() couple doesn't need to be implemented in this case. Signed-off-by: Frederic Weisbecker Cc: Marcelo Tosatti Cc: Paul E. McKenney Cc: Peter Zijlstra Cc: Phil Auld Cc: Thomas Gleixner --- include/linux/context_tracking.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/context_tracking.h b/include/linux/context_tracking.h index d53cd331c4dd..bceb06498521 100644 --- a/include/linux/context_tracking.h +++ b/include/linux/context_tracking.h @@ -51,7 +51,8 @@ static inline enum ctx_state exception_enter(void) { enum ctx_state prev_ctx; - if (!context_tracking_enabled()) + if (IS_ENABLED(CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK) || + !context_tracking_enabled()) return 0; prev_ctx = this_cpu_read(context_tracking.state); @@ -63,7 +64,8 @@ static inline enum ctx_state exception_enter(void) static inline void exception_exit(enum ctx_state prev_ctx) { - if (context_tracking_enabled()) { + if (!IS_ENABLED(CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK) && + context_tracking_enabled()) { if (prev_ctx != CONTEXT_KERNEL) context_tracking_enter(prev_ctx); } -- 2.25.1