Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1221149pxv; Fri, 23 Jul 2021 03:05:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx/2aXLhc/a2DUS3rxNeUo2ey67L6WonSbD/yw2ztJx2ogzIq8yOd5RhL+H4VZ+Wp6C+J+K X-Received: by 2002:a17:907:1de7:: with SMTP id og39mr3895801ejc.221.1627034752118; Fri, 23 Jul 2021 03:05:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627034752; cv=none; d=google.com; s=arc-20160816; b=ufaMmKZn4JubSBQVlaWjMHNZ27unAixfiTy1N8JGNU8ywnEeuNXhtLzBKqwR1T4NPg 3TfKGoSvm6ZxtOanuhFOVNsfrxE/bKjrAIflaSrHq3JQaOpzWuPc8eZ1DOhsfVMqrA9Q aPuXJSX7zzHAYpYB2sosJcUCKMkz2J1DoNj98kI+QCOkG5y2DDt01+/6a4KdnIk5gp9y 2LpJco3aTtfh2WLtAPZs8WoXJlEcFwBnsVZq6eebf5qCPJTBHaK8BvW78+ieSvtwq1hR TTmofKuocg7xHEDs53J6Gs6ddvN0ORU7OUnIWmtcVBFKvwZJat4lAhcZzCms1kqKeuli eg/Q== 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; bh=+OFYXyiHwFyez/p+HtIflD7ZU38QGmyF5ysuNTEeo3Q=; b=HXzfDhLGHWgP0dnWlwPEwkNgvPBKwvqVzg/GllrhsyLIo8oAKzRMluR96R+mPaWKYU lO5Gz5x53vgDUfsGgXcTPrWuuoOCxaczJWOLZm0/mvHZevP9+I7KFKu054B41hM9VHkR IIDxX83EjaRVCs+oPqhOfw/MHUi3Y5PFW3/5Dt7T2zaRLCnHXyd0XdC6AxHLaJOqYdW/ 4X2P8i8Ajv3aIe2a6qVjrqi3EYDKxbhmK3+Jl5VlDFhuR3aQ4IKvfsTUFTK1zcQiWLZp NXJULAnCCswqNOKd2GAPWGBhPuSc+ufeLzf0LH8IOXrjpsRDJ7PgylGhaMz4PFwzSThJ 8FZg== ARC-Authentication-Results: i=1; mx.google.com; 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 r14si30136807edy.451.2021.07.23.03.05.17; Fri, 23 Jul 2021 03:05:52 -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; 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 S231757AbhGWJUW (ORCPT + 99 others); Fri, 23 Jul 2021 05:20:22 -0400 Received: from outbound-smtp20.blacknight.com ([46.22.139.247]:50629 "EHLO outbound-smtp20.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231749AbhGWJUW (ORCPT ); Fri, 23 Jul 2021 05:20:22 -0400 Received: from mail.blacknight.com (pemlinmail06.blacknight.ie [81.17.255.152]) by outbound-smtp20.blacknight.com (Postfix) with ESMTPS id 1058D1C4972 for ; Fri, 23 Jul 2021 11:00:55 +0100 (IST) Received: (qmail 9118 invoked from network); 23 Jul 2021 10:00:54 -0000 Received: from unknown (HELO stampy.112glenside.lan) (mgorman@techsingularity.net@[84.203.17.255]) by 81.17.254.9 with ESMTPA; 23 Jul 2021 10:00:54 -0000 From: Mel Gorman To: Andrew Morton Cc: Thomas Gleixner , Ingo Molnar , Vlastimil Babka , Hugh Dickins , Linux-MM , Linux-RT-Users , LKML , Mel Gorman Subject: [PATCH 1/2] preempt: Provide preempt_*_(no)rt variants Date: Fri, 23 Jul 2021 11:00:33 +0100 Message-Id: <20210723100034.13353-2-mgorman@techsingularity.net> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210723100034.13353-1-mgorman@techsingularity.net> References: <20210723100034.13353-1-mgorman@techsingularity.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thomas Gleixner RT needs a few preempt_disable/enable points which are not necessary otherwise. Implement variants to avoid #ifdeffery. Signed-off-by: Thomas Gleixner Signed-off-by: Mel Gorman --- include/linux/preempt.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/include/linux/preempt.h b/include/linux/preempt.h index 9881eac0698f..3434f4618178 100644 --- a/include/linux/preempt.h +++ b/include/linux/preempt.h @@ -184,7 +184,11 @@ do { \ preempt_count_dec(); \ } while (0) -#define preempt_enable_no_resched() sched_preempt_enable_no_resched() +#ifdef CONFIG_PREEMPT_RT +# define preempt_enable_no_resched() sched_preempt_enable_no_resched() +#else +# define preempt_enable_no_resched() preempt_enable() +#endif #define preemptible() (preempt_count() == 0 && !irqs_disabled()) @@ -278,6 +282,18 @@ do { \ set_preempt_need_resched(); \ } while (0) +#ifdef CONFIG_PREEMPT_RT +# define preempt_disable_rt() preempt_disable() +# define preempt_enable_rt() preempt_enable() +# define preempt_disable_nort() barrier() +# define preempt_enable_nort() barrier() +#else +# define preempt_disable_rt() barrier() +# define preempt_enable_rt() barrier() +# define preempt_disable_nort() preempt_disable() +# define preempt_enable_nort() preempt_enable() +#endif + #ifdef CONFIG_PREEMPT_NOTIFIERS struct preempt_notifier; -- 2.26.2