From patchwork Thu Feb 13 22:46:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suren Baghdasaryan X-Patchwork-Id: 13974134 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 BD302C021A0 for ; Thu, 13 Feb 2025 22:47:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8BF0128000A; Thu, 13 Feb 2025 17:47:15 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 846C2280001; Thu, 13 Feb 2025 17:47:15 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6774E28000A; Thu, 13 Feb 2025 17:47:15 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 3B2E8280001 for ; Thu, 13 Feb 2025 17:47:15 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 007391617F5 for ; Thu, 13 Feb 2025 22:47:14 +0000 (UTC) X-FDA: 83116408830.14.C09A8A1 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) by imf02.hostedemail.com (Postfix) with ESMTP id 3DBC78000E for ; Thu, 13 Feb 2025 22:47:13 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=onYj+ddt; spf=pass (imf02.hostedemail.com: domain of 3cHauZwYKCFsLNK7G49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--surenb.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3cHauZwYKCFsLNK7G49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--surenb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739486833; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=f967rAL9Gs1nAaqEwqbs3/KxJ+f7SIc9ekPyYd69/e8=; b=M34wNHUAbtbPEqaiaHx5fF08y9d1WvI+GI+ZFOwsro2kH7MrFYzMfRRVpFqYKkRmGKLb4T sobVzG0ISlP2yF3qPmotD5QmLz3Ax8phjuwaObtZMN1pRfd5RfSmLb3fIn3HgNWpA+gsXC N71Tenao6eT3ZYWg5p/zuYxfpyL+YYs= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=onYj+ddt; spf=pass (imf02.hostedemail.com: domain of 3cHauZwYKCFsLNK7G49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--surenb.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3cHauZwYKCFsLNK7G49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--surenb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739486833; a=rsa-sha256; cv=none; b=Hm9fTHxvXckaNPDMi9yC7ETxZTMSBpDT6tplSscuoBSCEYzy9WcGFbKmcBPHbqb5pqiLmp yIOPXb1aT/XEeZB4cxqQY5lWVJgsiRNabJv4stoxo4Fz5nCXhg5V11H3Unrs6Az1eCBLzP IsuJgf8IT6KoL4gtWKaSXR36TGXzSyM= Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-21f444af89fso20253075ad.1 for ; Thu, 13 Feb 2025 14:47:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1739486832; x=1740091632; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=f967rAL9Gs1nAaqEwqbs3/KxJ+f7SIc9ekPyYd69/e8=; b=onYj+ddt0CM0Ul/0wpDGvGaQg96UBM1t7eRRjFTb0BsQn+THYWoKdNhTjlARLnrb9K /9JVQqaGUbY4JQzSJqV9vNJ4Qb+LFTkiogJM4F7oGoutmmr8q0nWAkfG4Zi7W+8xbAnF 7Cp0u8rRF04MCK7w+sfWukiGhw627F6mSHkxTfqmpf6FNODsZg8vOmP9rwauDEa9Y7t0 4gAV57inNhp4MZmdD8fs9GLDm9M5z6/BA0fzNNI/uOYBR2NByVWsRPYwqRhQX2JjHCUC HTNbLhCYOBWelaP82MuWF2zka0A7Xt8d4Erp7s0ayPCTAvFRXciPV3TOzQLX7lOSnCSY uvJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739486832; x=1740091632; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=f967rAL9Gs1nAaqEwqbs3/KxJ+f7SIc9ekPyYd69/e8=; b=sfjEoVViXOCr8hFK5lnlriWASjPefJZLtdZ8ZGXUvVNM55VmUF9MUqa2zkLTDJomG4 DEadPFrpUFkr2yQ561AQRRKtRRQyURydFS0P9QyYWKgqKMPlK/VaMRtA2OndsXrH2o4w sx2yJewgjsc/6g0Js4Bycfqkhhdc1K+Q1gGUgLrYS8v2tprYoUiEGiAmDUlkvciyv/Zp QjJWdYRHb6g4HLQ1m+1zklDbKOVOfaGbEa/do7Sf2wrK5qB+FNkIcmkOFTPDiYPZKjX9 ODfYb7qkQC5OIHvZRznOrMukdL4Pi6WBTk3Cz9H6AUsLhJu/4O57xPzxv/a+aUKEQIrE y/ng== X-Forwarded-Encrypted: i=1; AJvYcCUCI65YR+zkb8N8MkMWPUTI0FtkjnVKsYv6COb9mMxH+mRBrjJKYwsV+v5QOlOlZ3+VX+skJByW5Q==@kvack.org X-Gm-Message-State: AOJu0YxkQfkH7uSE8jrGC1dpMTXSglNfVHA2MIGs0fNvret7UQHl/Zr0 VBNNYV/TX/JfZ2tXgZo5YZmUQhF71FTKLUr3nhqjRikREZ944mzc3ykZ9T5alOwu18EXesnWNeB UPA== X-Google-Smtp-Source: AGHT+IGSWz7GU9dfI59mEnX3KWjK84PY7XxuIsdno4nvi5XjdZpP5t6KXvINYXrYmtHx9RdlsY/1nSR1Ez8= X-Received: from pgy35.prod.google.com ([2002:a63:1863:0:b0:ad5:5841:9f23]) (user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a21:3a94:b0:1ee:6b2f:1a2a with SMTP id adf61e73a8af0-1ee6b2f1d52mr9549965637.15.1739486832181; Thu, 13 Feb 2025 14:47:12 -0800 (PST) Date: Thu, 13 Feb 2025 14:46:43 -0800 In-Reply-To: <20250213224655.1680278-1-surenb@google.com> Mime-Version: 1.0 References: <20250213224655.1680278-1-surenb@google.com> X-Mailer: git-send-email 2.48.1.601.g30ceb7b040-goog Message-ID: <20250213224655.1680278-7-surenb@google.com> Subject: [PATCH v10 06/18] types: move struct rcuwait into types.h From: Suren Baghdasaryan To: akpm@linux-foundation.org Cc: peterz@infradead.org, willy@infradead.org, liam.howlett@oracle.com, lorenzo.stoakes@oracle.com, david.laight.linux@gmail.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, mjguzik@gmail.com, oliver.sang@intel.com, mgorman@techsingularity.net, david@redhat.com, peterx@redhat.com, oleg@redhat.com, dave@stgolabs.net, paulmck@kernel.org, brauner@kernel.org, dhowells@redhat.com, hdanton@sina.com, hughd@google.com, lokeshgidra@google.com, minchan@google.com, jannh@google.com, shakeel.butt@linux.dev, souravpanda@google.com, pasha.tatashin@soleen.com, klarasmodin@gmail.com, richard.weiyang@gmail.com, corbet@lwn.net, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com, surenb@google.com, "Liam R. Howlett" X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 3DBC78000E X-Stat-Signature: 5rr7ysmqfeqf83r1trogxtdpqdszso9i X-HE-Tag: 1739486833-51842 X-HE-Meta: U2FsdGVkX1+9DY2/Nu+7XM/FR0zL+iifPnvcasjz6KTtvL+XVvpd4FjKACdg3xL23F6to128ibqbO929SNNbeb7KHq2Wt+GpGRowGI8D0Zr7ytSfjX9QbG0WU5Df6ZqPiF8PJsfNw3m+3Lm6vjRAOYyBQ4OJgJUQ2OQgxebtf3dYmlN19zLpz0acfkct38VRKCdnQzRx5B0ymH20KQomhJwKaE4NhdhlSFUMoH7t2TRl4ab7XCUn54dAyBsJDUYmpunmttrePrni8wgj5Olgvze1AxuOQlpj295/TL5UxgSrLSHqN/SrMFZimy9Bs44aSZtYv4XOsW49aPVFJaiypI5mLY9HSDfd+FY0/rNqOLsQr2xow4IjXViqjjL9JLyLQS6zBlUIyzH3/trEN5aY4qRGn0uDG+m4Vc7CU/LwWb00qDyxtz02LQf12/LZjDzPeH6pgf40D7OlEk5DIH+L4hRn9UpRg8LgyEbVhR3Gem/tFD56eO0QtOELz8NDD3mOu+7MNBlAC8Ku+PnVWIrEwft+ntHhcGnbcX097APdbGpAhE9Yvw3WS/kuGG8SBZ2YaFYFAW9YYoX+rYBYw8FzmxpkQolt26uOmZfZk7HmyCTYhr6UdaHTToQ2G9rg2GIx5SqGJNfCmdrTiAiHYqSW6Pd4FjcfUlxjoao6aGM7ZmfA6hDU+/VkgeBWt/c4u5zNjbxtUHYnQPcA1Z3gXua7K9kEkCsfYXxeHLZ+Yue6/3l4pM+RHhhce2iJ9UFX2qnhrtf1QF5hkT8IV4h/6uRLxa1xLNosrOAsQSJkNYNHq5TbkS+L/AtC7DiOu3nkN3EbYOEND26UjzaqvejftR6iFN7cQA48IbBaS7Xx3ZpYFZ84YwNhICaDCU7CR+VR8BRsu423O6ZrDwU5/hTKxW+qbmqTjWhSxJfaCkFih6abn6YsOiYqq1HwSqugxTF2NYC7+ENU4DLSt2Yu8eTasqM 7CYyaUaz 2sMks95DvGJ9Qn3iFleEmRwigvJiPFzxjAGJ6mlOtaxxkGHWIDvfioc0x0K8LR2GhYv4VFEG5vN8OLgyuNwX9MxYPulIwcmRudexgbuoGbaC0TWQ76a/uTnz2zxhUUNBtKnszqd/hVQVbP6fX83Lm6C54X9dYYxtB2bUNmvuYlN1gN9v5NFItWWxy9BwiiVSdymQXoRgK0tbCvSsnjb/421Fo9hsGzLFEdd/Y2h5ZHej7WCawUSLwZ7ZflHBBISIW3abPQdwDRN9e6PsE9TBZs7CCCr8Y1bgBtIFVPXpmdrTTv/yM8LqKsMHsdQ0DyiLO1MiFfSfsq/3Z15qixzW4kjXwZbOjRbUG9Y2n9/ZxB9l6IU+z7Z8ByQrbgvkFrkHPbFt/QHfJ+tZaIodukuyd+hJX15FIfujwjhb4YbPlUgNyd2yIhTFcKVYYL8rcHkA6Lqecn7akQa1Bn/odDJOFe/BqQ+Kbyh95Fl7JEHZIf9xh3gdrwLCnZy5YZkxbr1QosQq4lacjdD0f+BeXnyau2+Iq5CyRiyqAARWq/qvRjU+nYejlAxx/LwJ6z9LqzUpOc9reeP7WqKHKLXmZ0r3XSSXAX7UaPe1lC6DaRlhbtJRothW1F6hj+VuwC+sConnXOBvbTJ1IWSq+rQ3+e3UnYnEE1RAHFaPTdG8fZ7xCCrGZRjd8+wRL0aK2UcXDsldGGMieWQ+7cGfiyg/ME/W79725GRcVWz4WBGAKBvOlCblkoC7/US4QlatYsbmjm682YY3mvi3EDhulBklmpNN/xxOJ6w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000436, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Move rcuwait struct definition into types.h so that rcuwait can be used without including rcuwait.h which includes other headers. Without this change mm_types.h can't use rcuwait due to a the following circular dependency: mm_types.h -> rcuwait.h -> signal.h -> mm_types.h Suggested-by: Matthew Wilcox Signed-off-by: Suren Baghdasaryan Acked-by: Davidlohr Bueso Acked-by: Liam R. Howlett Acked-by: Lorenzo Stoakes --- Changes since v9 [1]: - Add Acked-by, per Lorenzo Stoakes [1] https://lore.kernel.org/all/20250111042604.3230628-7-surenb@google.com/ include/linux/rcuwait.h | 13 +------------ include/linux/types.h | 12 ++++++++++++ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/include/linux/rcuwait.h b/include/linux/rcuwait.h index 27343424225c..9ad134a04b41 100644 --- a/include/linux/rcuwait.h +++ b/include/linux/rcuwait.h @@ -4,18 +4,7 @@ #include #include - -/* - * rcuwait provides a way of blocking and waking up a single - * task in an rcu-safe manner. - * - * The only time @task is non-nil is when a user is blocked (or - * checking if it needs to) on a condition, and reset as soon as we - * know that the condition has succeeded and are awoken. - */ -struct rcuwait { - struct task_struct __rcu *task; -}; +#include #define __RCUWAIT_INITIALIZER(name) \ { .task = NULL, } diff --git a/include/linux/types.h b/include/linux/types.h index 1c509ce8f7f6..a3d2182c2686 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -248,5 +248,17 @@ typedef void (*swap_func_t)(void *a, void *b, int size); typedef int (*cmp_r_func_t)(const void *a, const void *b, const void *priv); typedef int (*cmp_func_t)(const void *a, const void *b); +/* + * rcuwait provides a way of blocking and waking up a single + * task in an rcu-safe manner. + * + * The only time @task is non-nil is when a user is blocked (or + * checking if it needs to) on a condition, and reset as soon as we + * know that the condition has succeeded and are awoken. + */ +struct rcuwait { + struct task_struct __rcu *task; +}; + #endif /* __ASSEMBLY__ */ #endif /* _LINUX_TYPES_H */