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 5A48BC54E58 for ; Mon, 25 Mar 2024 08:49:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE97F6B0093; Mon, 25 Mar 2024 04:49:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D99996B0095; Mon, 25 Mar 2024 04:49:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C91706B0096; Mon, 25 Mar 2024 04:49:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id B3D656B0093 for ; Mon, 25 Mar 2024 04:49:51 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 7FAF2C09A0 for ; Mon, 25 Mar 2024 08:49:51 +0000 (UTC) X-FDA: 81934938582.27.48CB98F Received: from out-172.mta0.migadu.com (out-172.mta0.migadu.com [91.218.175.172]) by imf05.hostedemail.com (Postfix) with ESMTP id 95962100020 for ; Mon, 25 Mar 2024 08:49:49 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="d4DGGD/0"; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf05.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.172 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=1711356589; 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=2hwizfNeXGbqaYoJ0zaeiEJXlDodJ6zA25sJH9WWamY=; b=E54EHuQutfsF2bU5O9Lpiq2qTe5jjCOIXLPfWQI5qb0kmXpMbu7RZBVo3kDRszax2YSrkO SZdoYVXjWJdql8Ko5lYYj0lMfg2CC3DJ33nHHawUhdjg8oSOpX8vZWcrYgF5EGWlIg7LqY t4fm/cii+kZnPIqmV/RrHjwWwTMj7UE= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="d4DGGD/0"; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf05.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.172 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711356589; a=rsa-sha256; cv=none; b=7o03rN4VdGuJakXaaCfQVsHllPGW4iaTodf11ezZAk+tbN3DtArJHD4gyhstDaWdIjZkjh EL6OBkMw1bJiY0I7Oe9C5DeXxOdDw5PQINsUdRtj7Il/j2BOzLy8Rs9MI4CX+mHZlnsNzC ajI8mXZPN1XOM/TXaHOV1rXqu3ue1AI= Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1711356585; 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=2hwizfNeXGbqaYoJ0zaeiEJXlDodJ6zA25sJH9WWamY=; b=d4DGGD/0jmAkwc124lEMo7hWFIjmDSPWuEh4bFbbcEQ6o4p8/dLDthUsYVYY/YnXxNkOpG B0WTUJJ5MEUXrnbUqsh40GCRackd1ASgEmXSWkoDxRroxrk5QOnnBskCC20OBSKh5zCwck mCETFLbZneItEiObIuvpmsi70V7nr4I= Date: Mon, 25 Mar 2024 16:49:32 +0800 MIME-Version: 1.0 Subject: Re: [PATCH v2] mm/slub: mark racy accesses on slab->slabs Content-Language: en-US To: Vlastimil Babka , linke li Cc: xujianhao01@gmail.com, Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <8b146695-4ff5-4f9a-ab64-6cbed4168f98@suse.cz> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Chengming Zhou In-Reply-To: <8b146695-4ff5-4f9a-ab64-6cbed4168f98@suse.cz> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Stat-Signature: 4rdqtu54d1393e9gatedgso7nsea8teq X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 95962100020 X-HE-Tag: 1711356589-29504 X-HE-Meta: U2FsdGVkX19GTprMUqRbH3C/EFTB50WmLjcSG9+odpjgUjmr2W0QxRM8SBNghJndh7D0LUdJSYY9d4ZcCe2qCGnfWyFuqxNE4TIHfGTM8LqW/TTRNle5zrpMkGvK+sSDnPemqS5Q/6D7tfD9snShQ0/7CROLAWBlgG2vLeThzdvlTDkd4ZFynrccuEFl4FeY8J2ylBfGL6CFklKS+4zHd7OipU6/bCMXkAoYD79yHFZKBhxHRgGdUuozwpsbS6YZnwgjEgk4Rv+UuXQDjYCp2hLv5haTTYL2t7N2L6k+KVegCgGs5NW9qqrxjVDeOA4vBjUJzgAXaqG4ZhXDIiA52dSFvC9pm3/C3yAIV4hwyLoO6+HOoiEZIL2PWoZpsrF1jgpoPDoQ7ZCSD/1nwRg0JOpX5Hq9l7GlTg7UHQkdE/YfkAWLozvI+eh1/I+gobNRP+gSLMONszaJ3SaG/NLQjF8uEmxeK8ZbbdQJEjqD44G6y8IhjvUXlefTfrYP0+sqPQOg3gFjmdcZe4MFuqr8MpB59QNjx7Q7aFFRZ24YdnffR4g9/wVmbFnqzFHXzpRaQrHhVguLTUxovGXo8XQqMQLAt04Uy6PcAqfhKo3lrnnv09Vm+u49Folb/6YlzBItu0epHPRs84Ic/aQJGqRRZdcbmyOBQX1XzfVqNmmVt9veXqFuRRA7gZv5MQ7sykvlA7vrPUi69HwfdxnQj/OAKahJSEOmdlmc6RnorobV2tWho4H4twetYe1LHe7X/xP1DCMprCoCh9w+Y0eEAVnNexePJrXPtDZmW2PQVQeR4utpn8V+F2H00V3MkN0+MIYrl1AB7RfwGO6TEph5gS5WFXFYE8wrsSSdRzqkBpd2JM3LYOgNldSSTmtqzEiQE6xNIndtEH7GAJmikbnzSmTQVVssT1GlMtxChJ5L5hRLEk+s2t2hMMBe2zWmfzYe2gZ9DLkJh1SMLIHuxR9imkD BS0rYkz3 +9xy9/xdNpwSCAJOEAChVkmAv4Qoe/1Q0utso82nKeVNlWzjF9jMeHYcaMpTGPbicbZ7LniYF9I1/YPxb8qGyZpgvo252g/GF+baqvtYcUcoU24R5I0q4UqObq62Wjo8f3uv37li7+OIYXAK2VS7hYkJqlZKwB9G9ABoAunw6pBul7tNVJH7rGVs/DniMVG1qwL32 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 2024/3/25 16:48, Vlastimil Babka wrote: > On 3/21/24 4:48 AM, linke li wrote: >> The reads of slab->slabs are racy because it may be changed by >> put_cpu_partial concurrently. In slabs_cpu_partial_show() and >> show_slab_objects(), slab->slabs is only used for showing information. >> >> Data-racy reads from shared variables that are used only for diagnostic >> purposes should typically use data_race(), since it is normally not a >> problem if the values are off by a little. >> >> This patch is aimed at reducing the number of benign races reported by >> KCSAN in order to focus future debugging effort on harmful races. >> >> Signed-off-by: linke li >> Reviewed-by: Chengming Zhou > > Chengming provided feedback to v1 but not offered a Reviewed-by: AFAICS? Or > maybe will offer it now? :) Ah, right. Reviewed-by: Chengming Zhou Thanks. > > Vlastimil > >> --- >> mm/slub.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/mm/slub.c b/mm/slub.c >> index 2ef88bbf56a3..0d700f6ca547 100644 >> --- a/mm/slub.c >> +++ b/mm/slub.c >> @@ -6052,7 +6052,7 @@ static ssize_t show_slab_objects(struct kmem_cache *s, >> else if (flags & SO_OBJECTS) >> WARN_ON_ONCE(1); >> else >> - x = slab->slabs; >> + x = data_race(slab->slabs); >> total += x; >> nodes[node] += x; >> } >> @@ -6257,7 +6257,7 @@ static ssize_t slabs_cpu_partial_show(struct kmem_cache *s, char *buf) >> slab = slub_percpu_partial(per_cpu_ptr(s->cpu_slab, cpu)); >> >> if (slab) >> - slabs += slab->slabs; >> + slabs += data_race(slab->slabs); >> } >> #endif >> >> @@ -6271,7 +6271,7 @@ static ssize_t slabs_cpu_partial_show(struct kmem_cache *s, char *buf) >> >> slab = slub_percpu_partial(per_cpu_ptr(s->cpu_slab, cpu)); >> if (slab) { >> - slabs = READ_ONCE(slab->slabs); >> + slabs = data_race(slab->slabs); >> objects = (slabs * oo_objects(s->oo)) / 2; >> len += sysfs_emit_at(buf, len, " C%d=%d(%d)", >> cpu, objects, slabs); >