From patchwork Sat Dec 16 03:26:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kent Overstreet X-Patchwork-Id: 13495380 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 73F0FC4332F for ; Sat, 16 Dec 2023 03:27:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 02EAB6B04FD; Fri, 15 Dec 2023 22:27:15 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EF8676B04FE; Fri, 15 Dec 2023 22:27:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CD5696B0501; Fri, 15 Dec 2023 22:27:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B8C366B04FD for ; Fri, 15 Dec 2023 22:27:14 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 826D440450 for ; Sat, 16 Dec 2023 03:27:14 +0000 (UTC) X-FDA: 81571245588.27.F0501A2 Received: from out-175.mta0.migadu.com (out-175.mta0.migadu.com [91.218.175.175]) by imf05.hostedemail.com (Postfix) with ESMTP id CE6BB10001A for ; Sat, 16 Dec 2023 03:27:12 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Lj55Mo0L; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf05.hostedemail.com: domain of kent.overstreet@linux.dev designates 91.218.175.175 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702697233; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=2XkiID2+CLzOQYD7Bz1wsynJpFZEAYT3tSVjrTRZ4z8=; b=78YSEKQ5OTfpC7x1A++RZ1fwTqRX2fePyLreq0Ivlb+a23Y78jia5RtDWEWJ9ygRv/reP5 m7kH7PTJW8OBklZZr2BFYhI+tC3KzWViTHVPjGWMGl+8ARiuYvsbrromELkb+wYj0UYaMJ qtuzSu9RiB9ufb/UYVvvp1a+VMHnDsc= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Lj55Mo0L; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf05.hostedemail.com: domain of kent.overstreet@linux.dev designates 91.218.175.175 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702697233; a=rsa-sha256; cv=none; b=pLFk1aDbXXFuDecakLcbyfxEI1ZueAJelHZT4reo+HiBrVYSU1xh/seFxBlpaOoiJCvgOb JpnWuApwyWhU0hg4/sZmm/K0Oi6XJuy1Qe3Ris/uPWN5EdUwCQIiZbTFP/9lr743T7GjYl ZueLKD+hGJktaBCzE8oS9ISoEDfZHqE= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1702697231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2XkiID2+CLzOQYD7Bz1wsynJpFZEAYT3tSVjrTRZ4z8=; b=Lj55Mo0LMcD929wkauv0VAl43vVATsnzWM+J3oGUI/ar0ExbibBATJI9Ex1s17yuwcQsEq z1vlDGtmUVc6CIIBXy7jDvdn59nvo3wlVAKYmzivDHXAQEtV4qXJrU/UMbfyh12jJZMo78 pWac8uDIn1XU0PF37u7zF7u+nQIdi+U= From: Kent Overstreet To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Cc: Kent Overstreet , tglx@linutronix.de, x86@kernel.org, tj@kernel.org, peterz@infradead.org, mathieu.desnoyers@efficios.com, paulmck@kernel.org, keescook@chromium.org, dave.hansen@linux.intel.com, mingo@redhat.com, will@kernel.org, longman@redhat.com, boqun.feng@gmail.com, brauner@kernel.org Subject: [PATCH 16/50] sched.h: Move (spin|rwlock)_needbreak() to spinlock.h Date: Fri, 15 Dec 2023 22:26:15 -0500 Message-ID: <20231216032651.3553101-6-kent.overstreet@linux.dev> In-Reply-To: <20231216032651.3553101-1-kent.overstreet@linux.dev> References: <20231216024834.3510073-1-kent.overstreet@linux.dev> <20231216032651.3553101-1-kent.overstreet@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: CE6BB10001A X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 3353k1fr9jws91edcwaj1ou1adgf4f7k X-HE-Tag: 1702697232-935108 X-HE-Meta: U2FsdGVkX1//uQAs8K2J5qXFEOOn7XOygUtDCOyJV5dKQfb8UINWfOpLWP/LLxv6YQotPvMUNjBdDAylA8BodRfFtonGsVmqY6eUgVTdBNwm4NOCuq3+B9GMH0T1Sht6c1W+aqYihnw5FZGPOkqAGULQP5rZf12a5yimZth5ztVxbo2YA8NEpiL/9198LQE2DZsuze70X38yEmi5k5urj11ztq51njyhNB4qeKvB6iDRtevLFAgeQK3X7NAraLE/s9Yz+x9SgG13o/jckMjA4AsPSn57AIB+N0QZkBwIY5CcbZgH5VDmYm3jIjjPz9PiGXNx7GL7V29QyCisB67oQdFUSGps01NxC+ik1xdiFg6vpE9aqjtKLrnLP7lGiDRiy14EGA8Mrs/8GvKpAvXudcoARrU00dGa3SjRQCZtGqTjBeKQ6PmnHEncqAawgS6jUHwX04/CDL/826bXVSezrg14kjbDyQ/Oa567KNuXMzRKpMOxGSezHldQvAIIZ0Sz8Hvmydyw1I6mKJZbqTk4yPLNuou50TNpTncOz6d/rjw5usy4sET1+8sJ6uoN/M987zSiUWXJ4oF4MRaHTCqdjkjlxr27NQDXSnN7/zKY9oxq7iku4gb4UCqJp+P54qf7y51smXGkaPTWCl9oq57x6TVvTbadpUG6N0gsyZOtEm2jQx7+vhEZXQQ51w4e4MvqDo+dUHafoz8jp8Cy1OA0TwtWxMp1ig5tZ4vGppMXCXbe5JAgHbnNk4Rdjc4zyFDasLqFeQoFjTgCTwPYw923bQzuHBY0kY8zKMnEuekrrU7aLdz18e1S/bGghnSPCp2ZGb2FVXZOygX+LXZUDD5ly623v6IbNiyw9CWE9RkhYd9bKd8grdRNGyya+MXdgm6emcAji0h5WTRSFRf7CPqkVrpXBAa/Ta19Nc0QsyFJ6YXNkRFWQfv0gIENWRZE4zxUAPezsnDu/4/cryhLcT1 95zVDXpX k8IXncSE4Px1A821raaPRKGN14CzS9esPEKsKX2jYNqAM6ZXZYmUm+NmSUf/DWuhdD3ATXD4zGDrwv0DClluEzBOY1irrOhu/TQdIdAs8KX7U+6d7wgsKIVBGsY6yqEIy3/UBltasUbI9PY7tvsp4VsND5k246ihAOPnIJHSzLFdyBgRv1TPxU1saLX/FwG5EjlL4kJhWGmqUTs8= 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: List-Subscribe: List-Unsubscribe: This lets us kill the dependency on spinlock.h. Signed-off-by: Kent Overstreet --- include/linux/sched.h | 31 ------------------------------- include/linux/spinlock.h | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h index 5a5b7b122682..7501a3451a20 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2227,37 +2227,6 @@ static inline bool preempt_model_preemptible(void) return preempt_model_full() || preempt_model_rt(); } -/* - * Does a critical section need to be broken due to another - * task waiting?: (technically does not depend on CONFIG_PREEMPTION, - * but a general need for low latency) - */ -static inline int spin_needbreak(spinlock_t *lock) -{ -#ifdef CONFIG_PREEMPTION - return spin_is_contended(lock); -#else - return 0; -#endif -} - -/* - * Check if a rwlock is contended. - * Returns non-zero if there is another task waiting on the rwlock. - * Returns zero if the lock is not contended or the system / underlying - * rwlock implementation does not support contention detection. - * Technically does not depend on CONFIG_PREEMPTION, but a general need - * for low latency. - */ -static inline int rwlock_needbreak(rwlock_t *lock) -{ -#ifdef CONFIG_PREEMPTION - return rwlock_is_contended(lock); -#else - return 0; -#endif -} - static __always_inline bool need_resched(void) { return unlikely(tif_need_resched()); diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h index 31d3d747a9db..0c71f06454d9 100644 --- a/include/linux/spinlock.h +++ b/include/linux/spinlock.h @@ -449,6 +449,37 @@ static __always_inline int spin_is_contended(spinlock_t *lock) return raw_spin_is_contended(&lock->rlock); } +/* + * Does a critical section need to be broken due to another + * task waiting?: (technically does not depend on CONFIG_PREEMPTION, + * but a general need for low latency) + */ +static inline int spin_needbreak(spinlock_t *lock) +{ +#ifdef CONFIG_PREEMPTION + return spin_is_contended(lock); +#else + return 0; +#endif +} + +/* + * Check if a rwlock is contended. + * Returns non-zero if there is another task waiting on the rwlock. + * Returns zero if the lock is not contended or the system / underlying + * rwlock implementation does not support contention detection. + * Technically does not depend on CONFIG_PREEMPTION, but a general need + * for low latency. + */ +static inline int rwlock_needbreak(rwlock_t *lock) +{ +#ifdef CONFIG_PREEMPTION + return rwlock_is_contended(lock); +#else + return 0; +#endif +} + #define assert_spin_locked(lock) assert_raw_spin_locked(&(lock)->rlock) #else /* !CONFIG_PREEMPT_RT */