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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0EE1CC77B76 for ; Sat, 15 Apr 2023 03:32:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A5B5A900003; Fri, 14 Apr 2023 23:32:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 995FD900002; Fri, 14 Apr 2023 23:32:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 74D13900003; Fri, 14 Apr 2023 23:32:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 6703C900002 for ; Fri, 14 Apr 2023 23:32:14 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 35D3FC04B7 for ; Sat, 15 Apr 2023 03:32:14 +0000 (UTC) X-FDA: 80682202188.01.6F3F130 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf02.hostedemail.com (Postfix) with ESMTP id A16FC80008 for ; Sat, 15 Apr 2023 03:32:12 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=kwTyhhqB; spf=pass (imf02.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681529532; 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=Jx+Ujqv9xlci3zgOsLm36K4JxBhgxmHYx1AwVD9havQ=; b=zObP+fDMOm9ovxOmQArfjFtkAIHjw6tzCDUA+er4wKRD1sihsZce+6dmJzhiyHHNgYGlrZ FRHB5QkR4InbOOvZb0t5znQH5DHCn2ge3WbWBPpHakf0Z1hwvEmZZw84itCBwdC2TzCdOy Y26RiiwgIo8xDjb4h0eVJiCnteC6MWA= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=kwTyhhqB; spf=pass (imf02.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681529532; a=rsa-sha256; cv=none; b=4bFb4FQXk6yNLE5e4ECzgy8tD9XGQ7xNiX4H0pgZdyJ7QioB8obfioJRlVxgUhz6GDIsg2 y7nkdDK6bwypyWhtU7FZcIliK8G4hPsGfNb5o+ZO7msge52Qasoww6n8GjN86Z4JUwaiZ5 ZfvBjexD1P8uqBBN0OUyWoVs52GqwvM= 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 D5BE2649C2; Sat, 15 Apr 2023 03:32:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B52C6C433D2; Sat, 15 Apr 2023 03:32:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1681529531; bh=+XWziO2ua4unQE9zKFAr0FfsCxROiRZNlP1PEGcC0V4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kwTyhhqBaHhovdgbtGcm2bJ6ADe6+zG/8hZF+KwfzHV9UhcaXoTBUvq/WrD+Em6eQ F2MyBPLt/BvcmaWeoFkU8CTWH19xDu35N03OrdsVKObBMcbc/WNfxuCrifnqtmp5Dz AlaCvGVLRhXZTloldkBT5LFZ0WQVTIMltu4lhd4/mwjX5hPWV3Ra5A4gpY65ALjsHc ByiB8zEIvlHLApbU9KjIioeuwc45HvDtZVO+iZQTjgyZw3wajBYcUh8dQ6pMIdB99E n8FXPuAkutINB3TChQ7S9lp5W1LeV/VmevI2DwizELzZDEmimaoPbfvOruyR+q9emN 7UpN8v8nGInSQ== From: SeongJae Park To: akpm@linux-foundation.org Cc: vbabka@suse.cz, willy@infradead.org, paulmck@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, SeongJae Park Subject: [PATCH v2 2/2] mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code Date: Sat, 15 Apr 2023 03:31:59 +0000 Message-Id: <20230415033159.4249-3-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230415033159.4249-1-sj@kernel.org> References: <20230415033159.4249-1-sj@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: A16FC80008 X-Stat-Signature: 13sabzx6e99ot9nqgwwnu9rdma9u8srt X-Rspam-User: X-HE-Tag: 1681529532-407470 X-HE-Meta: U2FsdGVkX18+Qd8y1WksAEB+/XeTuBNti2wEmDag97YGiDwkYZqU3wyPrPEZuBPCWw+6ck/1fnlt5qUdo6K7ex/uMVD7WBtKYU7a7uWkXoZ3uk9DXSZJ+DiV6amqYYZVhI/YHsK0cWWxOp+5FswGzDOrpyeRNz3TFHpBIL6YUUfC3qvLor0w1hTBBHfJ02ul9Ae6ov/ndj7DcP6TrOxBeKCgTkzPTf6BvLnnP34AOAMRtD5Usifim7GZi720nj6JGtlZXFDVhOy6Fyavx7X+dMMH+ukFfGqTZpaH4kKqWRvmRrh9nTEAe7O+K22iBRP2qkRvAc+PkyVNbyY+9srqPabsU+yNHj+fwNWmtosbsSWMks4OnWA7R4hx+mv3kF9XmC3hueIaBKlA4yVOk8nEECmJL5ZILH2iIxjacMC5TsINvC3bc4HoN0ZfBvqjPT8MxZu9YyuFgHaQ4wchOR83Uag8I8PynBBJBh5wusWVl1tHs0TCXrZ8a9sxoM5qNafTZDGTlca6qzKIEATdAh/5i++FWXWjpx2EeUeNK6juAuTSb3GLcoDMmy/pIX31gSUneME9oTTjwYCKJD3ATCpMndq0ZXKDHpwsbW9FTjoS36D3OAfiFsM7pz5dLAjtw5Xpb39JLzZUjN9jE8kUn9bCjWNcayu8fNRAQvU0SH0SQ0BCnx8dOOOYbyDGY2IwVNRxF+E3d99UojOyO3dzD5C/O6NwrOZyYs71g8eRWz3ZhPMwmeShvs4nyHc/xy4rbbFV30S8ajd1SZ390+yxfig08PyYhdR37atLeGG9fFfU6iByPcP7NUgBcuD8281/HvkFadtQ6etO6Y5ab8WQLerHGFztMXnEfFyZ8CHckoWTwUMJn3OUXtQw5yck8Ln9fp2k0s4hHYEyASsMUAOSFyZMOmIWPgspJLGVQIWoC8liOdtIDVyFbGWS/RQVk7xbFLdk526BEnqIh2s5OgvObRf nHNfIn0T lC1v9X+8fm2IaBI79Mq335oXNqZvOMy1cEjK0Wihx/PM2p3sWsuFwo9NbHpJTJvHb7deKfakiztXgN8pwt1A2AD0DfPWutQo60qMs5QQhFcloW9oqPdCq2PU48JNQrJodkveL/fxi2hyCYPKROiW7iM/IdMVx2rDMBrCQyx7qny+zsNIpU5elgFxVgMs3NVIXYrW2f9dVDxhNZ8IdzXLMjVbLPHCFH01e1nmwYyFNp7EXmzUo56reb1K72Dqh5MASgG2Hqr/HF0mEWvQUJswH8ucxcTRQAFF4ZyWqxMPeURoUhrpUhYf4UHTC7nOawCRtlKK0uuYNw7R4OA7AP0OSBiSEDrf4DumzlYgtGurl0sFpIVxZ97gmfZLVOldD8unqCm8FCCMMjUDmGB3MfBkuJUx0PA== 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: The SLAB_TYPESAFE_BY_RCU example code snippet is having not tiny RCU read-side critical section. 'Documentation/RCU/rculist_nulls.rst' has similar example code snippet, and commit da82af04352b ("doc: Update and wordsmith rculist_nulls.rst") has broken it. Apply the change to SLAB_TYPESAFE_BY_RCU example code snippet, too. Signed-off-by: SeongJae Park --- include/linux/slab.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/linux/slab.h b/include/linux/slab.h index b18e56c6f06c..6acf1b7c6551 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -53,16 +53,18 @@ * stays valid, the trick to using this is relying on an independent * object validation pass. Something like: * + * begin: * rcu_read_lock(); - * again: * obj = lockless_lookup(key); * if (obj) { * if (!try_get_ref(obj)) // might fail for free objects - * goto again; + * rcu_read_unlock(); + * goto begin; * * if (obj->key != key) { // not the object we expected * put_ref(obj); - * goto again; + * rcu_read_unlock(); + * goto begin; * } * } * rcu_read_unlock(); -- 2.25.1