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 9369DC77B7C for ; Mon, 17 Apr 2023 17:27:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ADBDC6B0071; Mon, 17 Apr 2023 13:27:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A8BE68E0002; Mon, 17 Apr 2023 13:27:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 954358E0001; Mon, 17 Apr 2023 13:27:04 -0400 (EDT) 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 819C36B0071 for ; Mon, 17 Apr 2023 13:27:04 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 327CC1606ED for ; Mon, 17 Apr 2023 17:27:04 +0000 (UTC) X-FDA: 80691563568.25.AF8D526 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf22.hostedemail.com (Postfix) with ESMTP id 8F179C001A for ; Mon, 17 Apr 2023 17:27:01 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nBxoJpT0; spf=pass (imf22.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=1681752421; 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=W092TRYZoG2Kmd7EAoicpoMEG8LaPYWUcJrJz/54fCc=; b=PfBO21u/qeJqP2xEP6V3S2T3kEI7GESO60ZRFr/dq3mbe5b5PELrltp8oQQBGN263v0W/j lkre51vjxyfJFoF9Dqv1kQt/pH0/jPBn9N8xfKJx1FdhD+ZAi4YMMUUIvsW0VyIWlcerkG r+PlOZ8S7R0JS/sMkLFKxDw+piN10OA= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nBxoJpT0; spf=pass (imf22.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=1681752421; a=rsa-sha256; cv=none; b=F0xeWrRo3+vku+PmV2KvWwzOaQHF3DeGT7Z/CjKuDbJINvHmprJe0e1kqfm+N+uTGPEtNP Pqw7zv3+m19Ux1zSMOt5rzBr7fbl4bUVFNHPwOvXB+m0MSrW+6jh4rsynW+SDPF2RLcO1p h+s7OMCHsPmJzWOWqQrHNZHNMHcKR9I= 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 92B02620B8; Mon, 17 Apr 2023 17:27:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 407CAC433EF; Mon, 17 Apr 2023 17:26:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1681752419; bh=vEWkokyirFhRtj/YWmCPS6fJqqBTAPVAZdVM7XsRP/I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nBxoJpT0UWy+yulrd7i+AZtLb5bXUGAskJS7oq6+UWBmmMZ877YDw4x+r9MwtZmyI 0j1Hvv/qv3Orw3IyN6R7EvroVejgIuOAoVHRNOqZMDL+hpXKFstPU47B0+7pK7WKDx AOQ1LL/ao2tlosTkutFq/WvFZxxC53zIy2FSdywpfxTVjfKc4v+7fqWBjWaop2aIgH TWVrMII8IuJBi/U8+uU++ECPHN9lU+QVS3q048J8xcmsS/jmA0k2YpXElKyy8+EplF flqXtop7yryfuXpm7OwOFWaWKMf7nl8RIUchQDbSW6k9Qd3znSMemRXYN9Bqnw9B1g m5LA6PpkNePuA== From: SeongJae Park To: Vlastimil Babka Cc: SeongJae Park , akpm@linux-foundation.org, willy@infradead.org, paulmck@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/2] mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code Date: Mon, 17 Apr 2023 17:26:57 +0000 Message-Id: <20230417172657.21925-1-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: tmmy3wq8idfcdfe5ty33onrw6wtoohyu X-Rspam-User: X-Rspamd-Queue-Id: 8F179C001A X-Rspamd-Server: rspam06 X-HE-Tag: 1681752421-564614 X-HE-Meta: U2FsdGVkX19O60vH23xqzxfiaRteAH52U+mH/LPCjtUP2b80zZnDGXP/ISeHfVZWUOhUDSSmWOr5SJ5IHgK7jbah+WVdRCQBp6sbYzcuXhCaDsefWRmPV9/LUZ9XHkBGAz7MOJArIIq7YNYXcOzGWATY3vSVrzzrCoLE9uI1NMY4TzoVG/HlPJSBRC6J2nwKCLHz6DRRYZA1iuj4Fht5zQl1gdrrVFMfXfrljdfUsUqsWOGbeJcXLYsByQWWrCdZymsnJagAntPmfeX+vUJ/CW0Hs2jbZBEFzLD/19ss5j+nnXlyWwMf3fELHYVI1p7AXWLcXH2APubI35Jv7+dI/BQ8L+c/OFyYph0s0Yb8fpGTboOs9cMahIzoJ3vcxopXij4iuNCBU/4zV7jzktDpJSd7+Om7inXzl8T1JLq0gUZM3eKcF1P2K2A/uriFQEW6ULluTVy7hWA6Wxr33Z8UkGd/f5q6StkFvMs4F57864ppiysa++B82uWJkt1n0TUAOJrZAR6LhF/y0+2kaF8HZgXXdw1oA8EmD2TC6OQO3Roc38qkJOkCPkDX7QAksuYTXewcM22b0KTiTmQW09THY60t22eSKsR4EdFid/jGY3CCwz15n2kH6pB2ddjIEm+OLrTpjWvkjdqdtMPrsPISN3Umvl3D+LyNRohnXOoEi69oxaM+jdRhehtjgUBJvDHJrMEzOxAfsBMcLuh7E3YhpfQ2Zu2bxyXHBPzkNMgIvW8OyFjpdpPKB81+sChX9efPR8rAxFRNksv9YGK3ZDOaDMfjEXFyeWzNTso0Z3K+l6mCmZD363CPTBu4CspcdR005Dkq9BFDZVvcuxhPKr27Vh9CE1FO/KLxwYfCOElGJ4qsNhW2o9dmHeoGAs93lYfDWo756S40rQOwVYV/km7rceEvYoLfBwK0UXw46qzRkzuBXhgo3WjjdusT0uUQKOsFL+vX0Vl5OUXd2C1B5nJ XpRvULI9 Jli0H3lw+OE784P9TLhC6EfZqHdBANuLKm5D1gRofBk/D0YvQvgbpb/ehqjfvM2qVZvBtc54JWRp6Sue78TUav4QllbgFsmEJhtyc/evvslicBBVquyAmuh35+AYPc+uJOS0EH6KXiDEpCYDRvuDmsdH61ti/7hgl4OqktlacU0p1gBt/YA52koh+wQr7OLBHw7ekls/0p6KjjnHdFXbtE8uRHd8zkvmdqdi4zo8kLqAPZLi+Nk2cEWdLvvp1BNdMverwqoE0HomF/Nv3SvCdush8e/VWrJP4JSEVu4c+IOwdP307hVjrWHIDROZyLDeXlLyV9ls895hmwryMEIhY/nxjYjLN9gmvBJ6R4ykEkhSp5RBXbLrwJpDiVVfIvm3GVk/agJCoAEJMyVb04meioDpxPg== 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: Hi Vlastimil, On Mon, 17 Apr 2023 13:05:40 +0200 Vlastimil Babka wrote: > On 4/15/23 05:31, SeongJae Park wrote: > > The SLAB_TYPESAFE_BY_RCU example code snippet is having not tiny RCU > > Since "tiny RCU" means something quite specific in the RCU world, it can be > confusing to read it in this sense. We could say e.g. "... snippet uses a > single RCU read-side critical section for retries"? Looks much better, thank you for this suggestion! > > > 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. > > "has broken it" has quite different meaning than "has broken it up" :) I > guess we could just add the "up", unless someone has an even better wording. Good point, thank you for your suggestion! I will apply above suggestion on the next spin. Thanks, SJ > > > 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(); >