From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2037E1401B for ; Wed, 17 Sep 2025 00:17:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758068231; cv=none; b=S1q6zvjSNaX2Jqcbl6VfQg6ZTmq/hV58ASWWRPUUZFnmTSZoOeuty73DMH10CfxInYc3jW++IycZ/Z+VA5pE2JacQOM5jTzgKR31f7Wkr3ysBZKcdu6XOtWduNARoullz5pkWfzfjJP+6SAX6QUQ3FsB9T31xYD/FUKiFmrJYWE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758068231; c=relaxed/simple; bh=8bMaW+s8iABakKwgqc6w26p8Hw7d/FhUe28p51azdRg=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=F8I6Ijvc6QArZIF7hCH3UNx2M1EvicAbqPFIjKg4pRPk7CXtUHDC+oRrTu7xiyrCFP9d2rqOhvfxOQmu0Q+jyT56ET3NjFv3eyAnAqqQi64/osEsofSq04HZJJ3EKib7O2VWGxHgD5wkOPbSYkTopYF6M7RUR1cWbsRizr0e674= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=R3lswAoh; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="R3lswAoh" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-62f2b27a751so4085644a12.3 for ; Tue, 16 Sep 2025 17:17:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758068227; x=1758673027; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=xXSGAh8chrKBAWdQa4v/8pOW/Kzc0QCjuDzlGtOmWtE=; b=R3lswAohNyOMwWKwXZqGgP77g3sVJvV3/mg9TzComvE2dQRdy7tW7chcmxkZgXm5Pt y8ShAYeveHS9l1YTNw5O33im160bqMNxYklewVHTmq3rbd0RGrrrEKQnTEBMbeGaXYw5 /9t/BxIp5x6YFECxH3FclY7u5KY4PbtZH6zaLOai03vO0gev+pPSHEaElrdTFmXcaWyc QTS8iwW92mgHxfbuc18vaFp/5XWSypNuiQ0ebTp7bC+sVmNC7ZUfCgnRAIoiqtmsAEnR 1eJNoGEYG0GVdU7ROWlTd39kVc0mCpHRMJo29uGRqv8NNLmdOuXjSY3rWz0QCMxuy7U4 9MKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758068227; x=1758673027; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xXSGAh8chrKBAWdQa4v/8pOW/Kzc0QCjuDzlGtOmWtE=; b=fxffkkSjE8CsKcgGcMV2DOHHmWbM+KWal5WcwQOjIAPr7cqX7aM9jpbUv9z+Ikjr54 A4lmlfYiNcYuOPGKv3Sx1EYvPFW0DdCHW4NfWy5VoRo5A8y6RgFDJTOrKF9OhWfQfU4+ GzDYtQ8TT76l2X2/2Z/aMDvSPwqLPgmoZC6mt7N1alNCCtSW8/0Oc+eGJIoGXJUcCyoX wVttjR7mogng4Ov11LTQ4BMZ+D+ikBb+3Vt373CM5I2K6bXlCxPSagpxRDEhPgYoK0N4 Nw0OWP0mt7Snxd0tpddhOX+Qys0tex/nawIenqn6zNJ65DvsvqXMiCIWbc4GecaxUxhX WVMA== X-Forwarded-Encrypted: i=1; AJvYcCV16W2vnngpHnFvZlIlv1SGP45Fl6zxMSayA9iECZzLxtdWeBqOwIVIjBHqpPKy6831eeE/u736sArDl/fX+wKO@vger.kernel.org X-Gm-Message-State: AOJu0Yy6O4ewcW/ptGR67/CrZ/qMvqqzJkLQ1kqQNe8MzZrGbLShDerQ eWX3BBkTiL7lzSfI/dmeu23xVy7MssMLVP4X20Z4dpC0/TNUqh2OLXvD5vjZMIuPwSNX26NnL1u NJhXWGDhq6V7nDh40gOHW+3ATZevfoVE= X-Gm-Gg: ASbGncvQK+3+AFI8M5ILS/oTs9vveFd36fWXbGYp/CjBC+nfoLqAY5yO0ZQtcP+ZARZ 5TA4MQ8V6wk3OwbAd9cRCKrHL1ULaWHByyjmPwVNqMtyYfiitw+sB6IWSCxsu22hiOa9CLvA3RF O8hJpmGBW7zFeLsSjVu4ju1qbbxgBp6qB7nsUWMspKaBHm40TmsSygCdxIC2mHD2HspRqq5XxiR o5ENW6mPh9PubQtg6y+XiYpmX8MLlgpAItWeKE= X-Google-Smtp-Source: AGHT+IHkWc8z+1xTqfr6RJDMY4BcUWdUqKw6o2ECW5HvusjoalWjKeML6JPCAbs/M1LUcK6l6vjMuNB824YFNjkP4LM= X-Received: by 2002:a05:6402:26c3:b0:62f:2afa:60e6 with SMTP id 4fb4d7f45d1cf-62f83c3f396mr486555a12.7.1758068227086; Tue, 16 Sep 2025 17:17:07 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-perf-users@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <1eb2266f4408798a55bda00cb04545a3203aa572.1755012943.git.lorenzo.stoakes@oracle.com> <20250916194915.1395712-1-clm@meta.com> In-Reply-To: <20250916194915.1395712-1-clm@meta.com> From: Mateusz Guzik Date: Wed, 17 Sep 2025 02:16:54 +0200 X-Gm-Features: AS18NWCoF9toVvfO2cO2nt5EYzoV_mx2NXf7z13bcCNBsYM4N3TAXw98oK0bZL0 Message-ID: Subject: Re: [PATCH 02/10] mm: convert core mm to mm_flags_*() accessors To: Chris Mason Cc: Lorenzo Stoakes , Andrew Morton , Gerald Schaefer , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , "David S . Miller" , Andreas Larsson , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H . Peter Anvin" , Alexander Viro , Christian Brauner , Jan Kara , Kees Cook , David Hildenbrand , Zi Yan , Baolin Wang , "Liam R . Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Xu Xin , Chengming Zhou , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , David Rientjes , Shakeel Butt , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , Kan Liang , Masami Hiramatsu , Oleg Nesterov , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Jason Gunthorpe , John Hubbard , Peter Xu , Jann Horn , Pedro Falcato , Matthew Wilcox , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, sparclinux@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Sep 17, 2025 at 1:57=E2=80=AFAM Chris Mason wrote: > > On Tue, 12 Aug 2025 16:44:11 +0100 Lorenzo Stoakes wrote: > > > As part of the effort to move to mm->flags becoming a bitmap field, con= vert > > existing users to making use of the mm_flags_*() accessors which will, = when > > the conversion is complete, be the only means of accessing mm_struct fl= ags. > > > > This will result in the debug output being that of a bitmap output, whi= ch > > will result in a minor change here, but since this is for debug only, t= his > > should have no bearing. > > > > Otherwise, no functional changes intended. > > > > Signed-off-by: Lorenzo Stoakes > > [ ... ] > > > diff --git a/mm/oom_kill.c b/mm/oom_kill.c > > index 25923cfec9c6..17650f0b516e 100644 > > --- a/mm/oom_kill.c > > +++ b/mm/oom_kill.c > > [ ... ] > > > @@ -1251,7 +1251,7 @@ SYSCALL_DEFINE2(process_mrelease, int, pidfd, uns= igned int, flags) > > * Check MMF_OOM_SKIP again under mmap_read_lock protection to en= sure > > * possible change in exit_mmap is seen > > */ > > - if (!test_bit(MMF_OOM_SKIP, &mm->flags) && !__oom_reap_task_mm(mm= )) > > + if (mm_flags_test(MMF_OOM_SKIP, mm) && !__oom_reap_task_mm(mm)) > > ret =3D -EAGAIN; > > mmap_read_unlock(mm); > > > > Hi Lorzeno, I think we lost a ! here. > > claude found enough inverted logic in moved code that I did a new run wit= h > a more explicit prompt for it, but this was the only new hit. > I presume conversion was done mostly manually? The way(tm) is to use coccinelle. I whipped out the following real quick and results look good: @@ expression mm, bit; @@ - test_bit(bit, &mm->flags) + mm_flags_test(bit, mm) $ spatch --sp-file mmbit.cocci mm/oom_kill.c [snip] @@ -892,7 +892,7 @@ static bool task_will_free_mem(struct ta * This task has already been drained by the oom reaper so there ar= e * only small chances it will free some more */ - if (test_bit(MMF_OOM_SKIP, &mm->flags)) + if (mm_flags_test(MMF_OOM_SKIP, mm)) return false; if (atomic_read(&mm->mm_users) <=3D 1) @@ -1235,7 +1235,7 @@ SYSCALL_DEFINE2(process_mrelease, int, p reap =3D true; else { /* Error only if the work has not been done already */ - if (!test_bit(MMF_OOM_SKIP, &mm->flags)) + if (!mm_flags_test(MMF_OOM_SKIP, mm)) ret =3D -EINVAL; } task_unlock(p); @@ -1251,7 +1251,7 @@ SYSCALL_DEFINE2(process_mrelease, int, p * Check MMF_OOM_SKIP again under mmap_read_lock protection to ensu= re * possible change in exit_mmap is seen */ - if (!test_bit(MMF_OOM_SKIP, &mm->flags) && !__oom_reap_task_mm(mm)) + if (!mm_flags_test(MMF_OOM_SKIP, mm) && !__oom_reap_task_mm(mm)) ret =3D -EAGAIN; mmap_read_unlock(mm);