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 CB4FAC25B78 for ; Tue, 28 May 2024 15:00:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 617B36B009F; Tue, 28 May 2024 11:00:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5A1976B00A3; Tue, 28 May 2024 11:00:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 41A2F6B00A5; Tue, 28 May 2024 11:00:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 21A906B009F for ; Tue, 28 May 2024 11:00:11 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A88744067D for ; Tue, 28 May 2024 15:00:10 +0000 (UTC) X-FDA: 82168114980.03.8C05526 Received: from out-171.mta0.migadu.com (out-171.mta0.migadu.com [91.218.175.171]) by imf29.hostedemail.com (Postfix) with ESMTP id 374A9120029 for ; Tue, 28 May 2024 15:00:04 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=NlGiyNP2; spf=pass (imf29.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.171 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716908405; 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=8ELpKrf3yGg/U1k60rinfhuNPqARS7v2TuZgtOoQ2sk=; b=lpS+RmnUMEHiNUtZDS8I1zvE8UgWF0DC1V2SOBPfZya+JId+QYGerGSGs3Zm9vA2vkqU/m e5hAErt/jtkQCM3Oyq57O+jzRDwH6jstvDxVpK3EYbTLWXMqpATJunVFZ+hqRgM4BgBTsf pjoU2kQKYmoh/ghmbcDSefMVkntbAnA= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=NlGiyNP2; spf=pass (imf29.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.171 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716908405; a=rsa-sha256; cv=none; b=KLq6wr/uTh/snMQdUYQZc5aPznKBQwKvKxWe2ofJHyHsKoaj1650P8+y5vOm+eJXWbjGLz wIxlmsluUMlch4rmgNmaH2y5Gi+V25bi24XxsxXcEYiS5aOhuj3avzBGwisZUyQ9V6UxQn euHDv5VmV+ewEzSBGbbzxu33iEyjNAU= X-Envelope-To: bigeasy@linutronix.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1716908402; 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: in-reply-to:in-reply-to:references:references; bh=8ELpKrf3yGg/U1k60rinfhuNPqARS7v2TuZgtOoQ2sk=; b=NlGiyNP284ZecaX4V/B7HHJ/PIVBiPiBRiayMqi2qcwUHFR9EdHinOz8+C5Z+LPXhLLXMu 285nXeDPZG4Gt0zR/nRSQ/U339mugT/puBl7oUtFcKyWYLS1cx9Q6nEl3M+VyrDg5Uzt/N uq7h4aoNm0kyf+CbSWmRhYmCjRl2qhQ= X-Envelope-To: vbabka@kernel.org X-Envelope-To: akpm@linux-foundation.org X-Envelope-To: hannes@cmpxchg.org X-Envelope-To: mhocko@kernel.org X-Envelope-To: roman.gushchin@linux.dev X-Envelope-To: muchun.song@linux.dev X-Envelope-To: linux-mm@kvack.org X-Envelope-To: linux-kernel@vger.kernel.org X-Envelope-To: tglx@linutronix.de Date: Tue, 28 May 2024 07:59:57 -0700 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Sebastian Andrzej Siewior Cc: "Vlastimil Babka (SUSE)" , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Thomas Gleixner Subject: Re: [PATCH v2] memcg: Remove the lockdep assert from __mod_objcg_mlstate(). Message-ID: References: <20240528121928.i-Gu7Jvg@linutronix.de> <09e085bb-f09e-4901-a2dd-a0b789bb8a4d@kernel.org> <20240528134027.OxDASsS3@linutronix.de> <20240528141341.rz_rytN_@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240528141341.rz_rytN_@linutronix.de> X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 374A9120029 X-Stat-Signature: w7h6jinhqb58ngeadoqhzmnjb49jtmqy X-Rspam-User: X-HE-Tag: 1716908404-873934 X-HE-Meta: U2FsdGVkX18X5Q7UypU3ZUPZZRSF4sXYAHQNSN+ZPMHCzVfJozrusGoUm7PR0xziYmn8K1xD9Wr5Y0GOfijpHUh5xVQrw4+KZ0U1pfVLUFH9G6Ugjr/8xls6nx8J84Et/ZHAvwYp7AIpqmY9kwbye+AOKynGpa2Vs9+/6f5PuuiVo5R11j/aaZpVLDfDDfm26RHeKkWBs+FFsv9X9Ued/x7ahQaDTpv733ImwWj8H+G7oC1z8+oGh1W7I5uTQYBVect66TugKf+n/hd8kDwG6lK+SELDkbuxJ9T0zDgSyzbfOb74DEfysDGXGm2u8lD0aIe1JsAhmxicVu0EesCXMx6JPRhNRB7L3Qo4t4DMecXiqlyUVpi67qFtTeFdMuKQAiBEyCb7JLSx2Vbcenm/rsuGZFmErnUOtDBMhvw9RH57ulCv9dNBBgssXn5BuDNG4/9u6Wql6P4EQE4N5pKrq0GCAAarx/wPtg6fMi/fLu6CYEAgkX/VP3ljgEOY/huve4XRgkdWNs44EsrI/tXjmvZTokBok3x5cF8OqKttofnM0RUuqDqSpH43j8NOCt49JhYr1qSX2CEIQS/t86Y9CSGWQvFqDtS8dRSH5K6s7TgcuCuxK74xPsdqMZpmmZMvuEjmZVSFu1nc0N4BHtiXq2sfsNsf+HixmOORh+ikTtvbV+kfCEue1EgFY/UCbhUqU15VCbXRqIjLyzXzp6SQzChKBrrme2DuSOuFTO4liU534GPRJ9C2jqwrqeUHA73IlEH5SFW0IrdRL96j4Dbn/xaIBRQxJm4sk2pyQMFUtyzMoANUaPNS2clNCy0pFVOpYPlolQDbKznLpUSjy9N/7PTuJHM4Q6Aac+glM9fdOQheezAIBUYmw0VCRjgT3E8Bjv0M96FG0aio+xkzAQS8TuH6tB1VutCDURQQIo/UJhBI9t/b5ZGC6gFXxkXXwa4UhvEsZpqAITt8fZ+0/B1 oJ2i3UCd LppxaQNNy9Tixy8volq40Oe+qnaPYaQvlr0fRmLawHHnAlLaDhOe/vNRTyM/ttDmNL/simYErDwUuk6HsNQogyjzl8Nl2vBOJMVRqK7FLtxPsFrqvvr+/9CrzkZTij6bYoEjWIcmEQJowOaYu9+L5X73sLg9O3KMPDkdCZJb3pQ4pLtVFaHKgACt/325c2uY5vien 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 Tue, May 28, 2024 at 04:13:41PM GMT, Sebastian Andrzej Siewior wrote: > The assert was introduced in the commit cited below as an insurance that > the semantic is the same after the local_irq_save() has been removed and > the function has been made static. > > The original requirement to disable interrupt was due the modification > of per-CPU counters which require interrupts to be disabled because the > counter update operation is not atomic and some of the counters are > updated from interrupt context. > > All callers of __mod_objcg_mlstate() acquire a lock > (memcg_stock.stock_lock) which disables interrupts on !PREEMPT_RT and > the lockdep assert is satisfied. On PREEMPT_RT the interrupts are not > disabled and the assert triggers. > > The safety of the counter update is already ensured by > VM_WARN_ON_IRQS_ENABLED() which is part of __mod_memcg_lruvec_state() and > does not require yet another check. One question on VM_WARN_ON_IRQS_ENABLED() in __mod_memcg_lruvec_state(). On a PREEMPT_RT kernel with CONFIG_DEBUG_VM, will that VM_WARN_ON_IRQS_ENABLED() cause a splat or VM_WARN_ON_IRQS_ENABLED is special on PREEMPT_RT kernels? > > Remove the lockdep assert from __mod_objcg_mlstate(). > > Fixes: 91882c1617c15 ("memcg: simple cleanup of stats update functions") > Link: https://lore.kernel.org/r/20240528121928.i-Gu7Jvg@linutronix.de > Signed-off-by: Sebastian Andrzej Siewior > --- > On 2024-05-28 15:44:51 [+0200], Vlastimil Babka (SUSE) wrote: > > I think just s/memcg_stats_lock()/__mod_memcg_lruvec_state()/ in your > > phrasing, since we are removing the lockdep assert from path that calls > > __mod_memcg_lruvec_state() and not memcg_stats_lock()? > > Or am I missing something? > > Yeah, makes sense. > > mm/memcontrol.c | 2 -- > 1 file changed, 2 deletions(-) > > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -3147,8 +3147,6 @@ static inline void __mod_objcg_mlstate(s > struct mem_cgroup *memcg; > struct lruvec *lruvec; > > - lockdep_assert_irqs_disabled(); > - > rcu_read_lock(); > memcg = obj_cgroup_memcg(objcg); > lruvec = mem_cgroup_lruvec(memcg, pgdat);