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 2D9D3C4332F for ; Thu, 2 Nov 2023 02:11:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8485B8D006E; Wed, 1 Nov 2023 22:11:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F9D58D0026; Wed, 1 Nov 2023 22:11:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BFFE8D006E; Wed, 1 Nov 2023 22:11:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 5C4138D0026 for ; Wed, 1 Nov 2023 22:11:27 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2D7BD140DBF for ; Thu, 2 Nov 2023 02:11:27 +0000 (UTC) X-FDA: 81411387414.22.1362684 Received: from out-181.mta0.migadu.com (out-181.mta0.migadu.com [91.218.175.181]) by imf25.hostedemail.com (Postfix) with ESMTP id 30556A000B for ; Thu, 2 Nov 2023 02:11:24 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=RFZlqwpO; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf25.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.181 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698891085; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=rxZ3oaZqaTui4AQcHS61VY5yG4ph5EDEsHHAdJZLzqY=; b=JKJ+xmrBYxAOHso8ClMys7U0gSS4EIVDkOKqmioQUjJyUeyWivlC9RxRWZZUpIZz+RVmYd rD2Bv6qCrmR/3q4J3a1A+B3nSK069KUAa4QyLhjCxw1df1HnEzTfMyjpxqYNcXU3FbhDOO MtVPE7O3Mipd/3lbL+MrHoiv7bIDwJU= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=RFZlqwpO; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf25.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.181 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698891085; a=rsa-sha256; cv=none; b=YyyJUZ6BXYuPnShtqtmkZjCwyHCxlKfPvJFv+8fQvJXtlHDc+eDjGip/tOZG48uRfRiB67 RHskTDXjP3gYzfeNSAFekhMWMvLWNS+oeTs+TBdKt1/dFVYIjPqZOknb0aG69vA4Mu/X52 FVu2gRKRicw6Jb+Yl+f+NFJ6GLdxpaA= Message-ID: <93306e1c-37ad-45cf-b2ee-92535a89021d@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1698891083; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rxZ3oaZqaTui4AQcHS61VY5yG4ph5EDEsHHAdJZLzqY=; b=RFZlqwpOHWsC7a7Tg0hdb7bk4pWxe9MNd7QDFp5BscMj4maPbhyhtS2beT4OdyGEcRnjoz ++rZOgp7oK2vw+853bzGeQaX5wXxx34ehtmxh7KX3ZuWb5hamJNeKkjBX9rWemLNRceivT zLTx05wfqg49PxV4Qe1EXVqyT+Z6RFA= Date: Thu, 2 Nov 2023 10:10:53 +0800 MIME-Version: 1.0 Subject: Re: [RFC PATCH v4 7/9] slub: Optimize deactivate_slab() Content-Language: en-US To: Vlastimil Babka , cl@linux.com, penberg@kernel.org, willy@infradead.org Cc: rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Chengming Zhou References: <20231031140741.79387-1-chengming.zhou@linux.dev> <20231031140741.79387-8-chengming.zhou@linux.dev> <6041f645-a3d0-367a-8f2a-c6c5a68507ca@suse.cz> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Chengming Zhou In-Reply-To: <6041f645-a3d0-367a-8f2a-c6c5a68507ca@suse.cz> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Stat-Signature: f6t573sxq3sn4gc54d99uuo1wpyqt37u X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 30556A000B X-HE-Tag: 1698891084-157756 X-HE-Meta: U2FsdGVkX19ogeoCCQxAnxR+y9RsNe4j4+iPhgZuJmffN3KfwJMk3yZTEBTVbxuKzzWch2pBzPYlKK1N4JZFpzEGyO2H7dD+FvRaa15EDsYLV/9vhEBgZO5WuyPhKVTOibHfnf9m5addD3V0eQUloYosWBgx6of3Y7vrzLJbwpCet/NbtPvIC/K51UbTZXV8pZCVunTD7b6NVriquVuMH+WS6bLkmPwIxvMJ8HJ4LYaybgJPDJeyNnqxIbSPIFv7bLMkH2R2O2J69O4Dh142uK8WlTynjuZrkhAMj4Aesbqy9TntfO9fcdl3LnZiqPSErTCExlMYUSqMD4BFmJTI7KkpzOGg8JIzv03xTSPAPCGw1Mnm4qbNdNmjbmNGSQfojWstXRsJI3E1gdnj1tRCUa6JfzE9n1LJTSoFS1iGNohRIRqNCyS8NDiSAplom1D0fW+tU2eo87M/zW5kFIvKvngx0RpHH2LqSzvm5JdepzbV/JBut73uDpklHx7DVQQWO9TToF4EzNsSiqdnRbqeekVDxAGxlEvq0gvrMTHGBg1TXKouJL9RltOKThfoVIdhIgVVF2EHMA1pyz5BGc0AKX68kJNpjjSEytUt6YxaregoIbSpAj4najMPhw10z04I6QDHWg3KjoCtLGkAVfVn4k7/g1j1eAiN86RUQJxUk71FVBWcDpNURGcZEackSVYhwfybgwvPt3xXZi3zuTNxe+U0jYiQd0JS5lKMAzhuOWu7Hy36eysAqLGH1IyO8qWwA7p/ORHj6ymzFURTMw+yJjz5F9dgITrlCV8NAAthjilGbKIzlbmnR9sjJvfCLo2e7byTDN2w5afejfqqOJmZGhsYqkvFNx178/dkCU1hOlGVZqtnkA1iP3o4Frdv72np+YAK0Jqx1LkWF+ToZrPPN9prQkBYVWD2W46i26b7G57+E1fU9xIkX210cRyqdqvAE/JsefJTFuMpxVkgY4y M06ImDqi nHpV83gaMqxnHAxhMNu4XHF9Hjb3tn76pG91ZfcJA4O7IVA1pjAyPzOwf6CL/C5MschJC+ssZiTrn6xY27Hgt4x6vs0lWOgule4VR7J4w9RC6sYdj4y08zM3CyqP7orUlMzJK1dKcPpLpdbPmqxfYcfU5PNRnnzx+zC8ijCz+EfHG/Xh6WME4UHDBvqHKqqTngyGOiCYNUUsi45BfHqkayXCl1MSQCpE76t2aA3xwnE3ZnZOig8AXPmtQ6IjwceE3IcstH8cTIhldnLlYOa0Bmf+bb9E9EZUkBH+ntNS++N2XJ+x0Vivkhyuo2g== 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: On 2023/11/1 21:21, Vlastimil Babka wrote: > > > On 10/31/23 15:07, chengming.zhou@linux.dev wrote: >> From: Chengming Zhou >> >> Since the introduce of unfrozen slabs on cpu partial list, we don't >> need to synchronize the slab frozen state under the node list_lock. >> >> The caller of deactivate_slab() and the caller of __slab_free() won't >> manipulate the slab list concurrently. >> >> So we can get node list_lock in the last stage if we really need to >> manipulate the slab list in this path. >> >> Signed-off-by: Chengming Zhou > > Reviewed-by: Vlastimil Babka > >> --- >> mm/slub.c | 76 +++++++++++++++++++------------------------------------ >> 1 file changed, 26 insertions(+), 50 deletions(-) >> >> diff --git a/mm/slub.c b/mm/slub.c >> index bcb5b2c4e213..c429f8baba5f 100644 >> --- a/mm/slub.c >> +++ b/mm/slub.c >> @@ -2468,10 +2468,8 @@ static void init_kmem_cache_cpus(struct kmem_cache *s) >> static void deactivate_slab(struct kmem_cache *s, struct slab *slab, >> void *freelist) >> { >> - enum slab_modes { M_NONE, M_PARTIAL, M_FREE, M_FULL_NOLIST }; >> struct kmem_cache_node *n = get_node(s, slab_nid(slab)); >> int free_delta = 0; >> - enum slab_modes mode = M_NONE; >> void *nextfree, *freelist_iter, *freelist_tail; >> int tail = DEACTIVATE_TO_HEAD; >> unsigned long flags = 0; >> @@ -2512,62 +2510,40 @@ static void deactivate_slab(struct kmem_cache *s, struct slab *slab, >> * >> * Ensure that the slab is unfrozen while the list presence >> * reflects the actual number of objects during unfreeze. > > I think this we can delete also these two lines. If there's no other > reason for v5, I can do it when merging the series. Ok, I will delete it in v5. Thanks!