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 7BA06C369CA for ; Sat, 19 Apr 2025 18:49:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 566736B009B; Sat, 19 Apr 2025 14:48:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 514B16B009C; Sat, 19 Apr 2025 14:48:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 403F96B009D; Sat, 19 Apr 2025 14:48:59 -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 223AB6B009B for ; Sat, 19 Apr 2025 14:48:59 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 241BD1601DC for ; Sat, 19 Apr 2025 18:48:59 +0000 (UTC) X-FDA: 83351680398.15.629EB1A Received: from out-183.mta1.migadu.com (out-183.mta1.migadu.com [95.215.58.183]) by imf29.hostedemail.com (Postfix) with ESMTP id 5462F12000A for ; Sat, 19 Apr 2025 18:48:57 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Wb8VTJLX; spf=pass (imf29.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.183 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=1745088537; 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=ApAd7dHfvc/cXoQ6QveWIWCoCJKlspxr8Ja20JxbU3M=; b=pvcs1FihU0bkJKGzMAOF+k7C8rQJMcIKmgi9a66ZPgZ/sNK8EKc/CDHPWbKYFJVhsEqKhB DQ0N+DQtsKZ6vScTgBofzY85WWH0TATlUvqEsLEVYTBmN11aspal1ldVJuoqT19s/nITBa 7mkveAgZktGPptWO2b5FTYyQQ197NMk= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Wb8VTJLX; spf=pass (imf29.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.183 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=1745088537; a=rsa-sha256; cv=none; b=E5dqS1St7SqbRlfxP5P/5xvMFynKxjbW9UsGzIrQbJBWDU+CrWgN9j4OB/vQ8P44SQC+V3 jFfZfT1Tr72rloAMXs0s4rd1EdK9TSeEwvGrnZmeQ+36DvyF82rFJCVNCnJV91mc4Ws5fJ 0yj+Ll8oatTqWms6efUc22dKIjg/S7E= Date: Sat, 19 Apr 2025 11:48:45 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745088535; 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=ApAd7dHfvc/cXoQ6QveWIWCoCJKlspxr8Ja20JxbU3M=; b=Wb8VTJLXN2S0qzIP1vjKMSyk03NWvsDhyJfUYQruSzn/bgkivRhLO8BYf5vMgt/iz8grsL 8mj6Zew7eGxb911EDcYjR5r6+5W07YHSR1HZPXCcOCCE5EyHQrvRU7f+4ATD7vVtjBAPYj WPSOi5mVXY7oFKE3dAIphm8V7HVSSqs= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Gregory Price Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@meta.com, longman@redhat.com, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, muchun.song@linux.dev, tj@kernel.org, mkoutny@suse.com, akpm@linux-foundation.org Subject: Re: [PATCH v3 2/2] vmscan,cgroup: apply mems_effective to reclaim Message-ID: References: <20250419053824.1601470-1-gourry@gourry.net> <20250419053824.1601470-3-gourry@gourry.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250419053824.1601470-3-gourry@gourry.net> X-Migadu-Flow: FLOW_OUT X-Stat-Signature: jf6786kmoqwnx4akurigxfx6bx836hgg X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 5462F12000A X-Rspam-User: X-HE-Tag: 1745088537-4244 X-HE-Meta: U2FsdGVkX18ipMWv4To06dEHFBYKp3rbTNlq8Di0AbfJBUioW/EwuTLcGlQsVH1fn9jdVeqz1+JOG/OeQKmQVPAntNx73or+GzQ7UIxxMV4Jo3KJKsWYnLnCZOKfJzqD5oFrkm9R6oCK6b7APUsDx3/jh4hh6gKowW6dUS/siFXLxWeQq8yVVQMyn2Qh6KpxWIF+vqDokcDAPnCnxzd5lMQQZ4FPzmt9ZoabOQDLzs8yKkeukrYVx6XW6UT+aaXixw//enmvQ1o0GW3/hW+6MTb6duyFVDTkXqL7vckVe2nsxHr3sA8DMNWhPGttb8sOOVlDP6AGZxLNd5dYkDbhK5c2qhyln/BPYLojji5VpFKTgWx9adt7rmVzZ8piFLdIlMxezQh/fbN3Hq+lJiYvC+dE260ftnkZ2DxfFWOjLsLOU1qwhU3Xye8CPsoEhhECtVcMLZ22k8FC6w4+emmMmy7ZEiFvWGVwx/Bz5tEKG4SEJOG6dZHb0DX1XggP8JXh4QTTxfD5J+gQxzPl5COymV0ohidIQbfN1Vm+asFNDo083iWqvM32c4x5nvl/g5yxR2fHJs18h19+hK08UjvOG7Xnz7TRzRbf81Q464Jq4Taf2wmWq9sWEWmrVtT6gm++Hjb2km5Rw0Js147E+CajchIJasAfpmg5zNPxa/bfqb/Eb+qNRcH3KZJvjcjPcJaTPSomn8xhrswwr79b5/RtncLTYOaSSFVuowe3AvLznP75pPdivj/90yp+jQUXDkGVbQpbde74EQh7wVEddxNEBa8AD0QH7veBmLuQff3la3wvF2JqoYLzjQL8Ti0QlXHR4usTywrfWZuSc4J/o6EG1eBi0V7GZ3X3wqvaVpb/D03HcfrCNHWy2hNxdUxIf/4MHyXqGwJdqTAuIM+MMG42Cds8cfjN/Xw1z/a4Xz679XShnLNcXLuNYE2KQlMYp0I70NNwKp6zKvr8eucVD0j V1TSzH/S 4QqvugkFKsHIsqKd0SoJq7mlExGq7DaL0qPA2BM0cXBDVd3nuyeSe7k+Gz0vwhciiwu9lbGK70veDVqcdjgMS8HeGGkoEfJ37gwjsOw+GmmZZzaWeOP1xtJew79wMnYiqw/FAKCXB6W/6z7SB/05yGOKKV+uRpoZudXwrpgvz4ug0vmsw5qA2ZG60wEXIWqQNmrax8TNVelzCnHq7aS9ICY/4K+lINVIL0H9T 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 Sat, Apr 19, 2025 at 01:38:24AM -0400, Gregory Price wrote: > > +bool cpuset_node_allowed(struct cgroup *cgroup, int nid) > +{ > + struct cgroup_subsys_state *css; > + unsigned long flags; > + struct cpuset *cs; > + bool allowed; > + > + css = cgroup_get_e_css(cgroup, &cpuset_cgrp_subsys); > + if (!css) > + return true; > + > + cs = container_of(css, struct cpuset, css); > + spin_lock_irqsave(&callback_lock, flags); Do we really need callback_lock here? We are not modifying and I am wondering if simple rcu read lock is enough here (similar to update_nodemasks_hier() where parent's effective_mems is accessed within rcu read lock). > + /* On v1 effective_mems may be empty, simply allow */ > + allowed = node_isset(nid, cs->effective_mems) || > + nodes_empty(cs->effective_mems); > + spin_unlock_irqrestore(&callback_lock, flags); > + css_put(css); > + return allowed; > +}