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 8CEF7C25B5F for ; Mon, 6 May 2024 17:02:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 187726B008A; Mon, 6 May 2024 13:02:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 136C56B008C; Mon, 6 May 2024 13:02:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F19046B0092; Mon, 6 May 2024 13:02:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id D33BB6B008A for ; Mon, 6 May 2024 13:02:36 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5833DC0839 for ; Mon, 6 May 2024 17:02:36 +0000 (UTC) X-FDA: 82088589912.17.1AE6D76 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf07.hostedemail.com (Postfix) with ESMTP id 6A98A4002C for ; Mon, 6 May 2024 17:02:34 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=kpiUXmjV; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf07.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715014954; 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=bHUuIg1EPJOixoiveJwfsUUpdyu5w7k323oGfOqRFbU=; b=Kvd9i9IShNAPknFzAYoxLd0M427nILYCZGHGuw/MKBhwNfEtsZ4oX6BSAn3CXjYwEyWyGM FnN1Q05TgpdQUcZ6/hcNxF6np5OuFyWBJ1ChillYe2uoDB62IjjYyYrtSdDw3DUZXIJNnk eJZtNAQ8akfDbOoOfxa7bs2081vOAw0= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=kpiUXmjV; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf07.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715014954; a=rsa-sha256; cv=none; b=SezKJW3B8kOzyqTXzYY1B1bJiWEb2gLyVNVAKb8gkwzy9pgDT1TB6/pwWl7VSbHCS36D2H jf6QzAllPokJrd2TziGwasaeQhUgZAMoRe6risuk6i72YsanW+EE1HGVD1kflZMtOeULZK AeWTWGtwu61flTUq4lir4RnvZ2N5ybo= Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-a599a298990so566060866b.2 for ; Mon, 06 May 2024 10:02:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1715014953; x=1715619753; darn=kvack.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=bHUuIg1EPJOixoiveJwfsUUpdyu5w7k323oGfOqRFbU=; b=kpiUXmjVL3eF3q333ntEO/0ouqRfr9DUA387Zsl0S5GUvv2SWuH8IOq753Rlc/MVLY mZ4Wa9Gu3y8jrKunY67B8RjLaMl+2/Km3yyWLIOjyD5bkUU5TugYW856hghT8Hgq80t5 eBXPlWmPwgRUbyYlNl5fg+ub6xWuEow8ZIoUKeHei9oSwomTAXFGE4VV3h7bUWw0Gn6/ 2zRt52tNqp54D3sbuOvkQ4NFkqtu2/nwdH2Ex3uJDPWqSG6nV9aJNJbMnivFVFAwz0g4 d6rLo8qfUGUhJWR7D6gzUGwYSs9kQIhjAl/W310MLLc+yz79CLk3WW8Z7z1xwJj+t4Bs JtQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715014953; x=1715619753; 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=bHUuIg1EPJOixoiveJwfsUUpdyu5w7k323oGfOqRFbU=; b=ih9k9yZ8wWaNfr4pI5Ka+HwyOHluAfnIqSIh/ejw5iX7VEwco6SobIObzfuH6591ps LCXWh6QhQNh8FxnA8WUrQ92C7oEz4LJV+0ilu2Xlz0apvYmTspwE50og+fbmvA9CPqNU G74J/wudRp2IfOaqfBqqPAQyMykq4GVwOVw2NSBGDp3i2h54OoMMrrFzgRfVCXUmD/2k f8aYjOzASdac2XBUyDz5oeG+q10NXy73iRVYSPagQezzdwJT2gAgL/KrsYMZpj3jGhyg +UCTj5nTC19w/l+e0ysUtRJQXiJBT5o/MLxN6rITUd7+9curJkfU3WEeomNxNgfs4rKX rDtA== X-Forwarded-Encrypted: i=1; AJvYcCUotUPa8MkaTUYSG2MFgAOqhbIEG+rp9ms0e6/0agftlPo1nNjxr2T6SXvaoKvIMaJ6GLeIAxwBn9e4Y0eTT+pojZ8= X-Gm-Message-State: AOJu0YwZ5NRsz1Uz+CWLgydtToYour+73j8nA+/b3ha5Pwf3F5FL0ZEa 6wpWEyfJMsrUVbvQGT6a9GZ8WX/CzKhrTH5vcKWFpYIAR0dXB3VQtRXPO6hgBpd8y0lmezTPiDt McOqjmmuvz4FUz7x97oh6D/sFbN2rrRMP9aLt X-Google-Smtp-Source: AGHT+IEIInvjyGer8PqSYIUNJ70IvWgRV34lzO8tdHFMlQ1h1nswMVPYZHYBJMaY/e0gKepTU0c+ycHOnV3VjwTmTCY= X-Received: by 2002:a17:906:3446:b0:a59:c52b:993d with SMTP id d6-20020a170906344600b00a59c52b993dmr2629241ejb.20.1715014952709; Mon, 06 May 2024 10:02:32 -0700 (PDT) MIME-Version: 1.0 References: <20240506170024.202111-1-yosryahmed@google.com> In-Reply-To: <20240506170024.202111-1-yosryahmed@google.com> From: Yosry Ahmed Date: Mon, 6 May 2024 10:01:54 -0700 Message-ID: Subject: Re: [PATCH] mm: do not update memcg stats for NR_{FILE/SHMEM}_PMDMAPPED To: Andrew Morton Cc: Shakeel Butt , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, syzbot+9319a4268a640e26b72b@syzkaller.appspotmail.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 6A98A4002C X-Stat-Signature: z5tfyqxecmmh1y3rkkn7u9art66y5nyy X-Rspam-User: X-HE-Tag: 1715014954-258334 X-HE-Meta: U2FsdGVkX18isBl6fM8HnH+F077O29ii33fu+wR6yoGJAt+eMWarB9o/L6ucHSJrUVIglFQ19txHMKNJt2lXTNjw/CDfmpczDNa3QKONYcMI9IZ50C563d2yxUgtjsAIgdtz2ftCK7KC7qSg61XaAAtIPQ7WhSfw96mFQrAL8cwt1n5ygNeaN38vsM003KxEFusWaNkLGjzJ+kGR3ozGzput4fSk8jTERmLfMMEXP6FwX8jC7eORiXbkAnFZFGge1K8IbCN6QJhX7ALuAEFz7rKiZfepa9qsMS88XtNUxWyhgl/xLTR3GETz512OA9Mw61ZL+dqMJ1p67ioJYHVZUbxgVBSRRdF7nhfv0XU6Scq5sC+zShTbe5C+y4WZg/ZdMunoRsIIUdPXl4z4hRBLmwDDO4m4tQxVHHcAAm3hH0/Mmc5Op+HGMqcwcayX3Xb8V/T7RKXWj7V5jZop5M4ObfScvvW8NwD47y9dzNnrxY22hPyUc6yGc0u/wRG+Kom0WQbdZX7mkytygAyP0drdcd6z3VGSrqUDAjKdC7IsIThrl5quObg6wjFPlpHAQdaBYvFww/ZvwCx1a5wtbFeEFkFeiNHg/3SBGwtfzEoST0wevBKfJrxVU+ujAEmnlGN9d+FEyPJ6VkHn7arThvKiPQrar8+WXOpgaWLJGh9+N3dHkATWaCRUjsWYgO6beTvJmnJo0bdREgRUEwvU5Bgp9OxwJyvjvvoOM1exNBCeTlB7qIMjQ3oJHr/5e4SVdRPZsj8pYmlIig4aIZVU1S+dpWoF+y07ucR+GJFL0UiEIu9RqBIc70Bc1JG0d1Aacsb7l/MufgYk7tQh91ZRqUDQv0e7o/+2rdYwqoEEKyYHaLGPNiWX8t7KI81tHkxskEaYQhUYjjItwtjFIO0jI6uz8XLMp7y3p+MmDW6tIKquPY21WMs3KBV42jnrlWosavN33P17AivgEWfztYep/0L w+kT6N5Y VHCcTbvE3F82iXXZe4rJBuFquuVYDbL6A9xWcmsIZxL++qc7n6HoFkOpQ9SgT8lyLEJqKEmBAara+DpSAvE4+Y8JKmS55IhkST/oe1yI5HMvbyC2+s3YVM9R5h6Oo6IAfTiV6BUtjJeTp9LkOYjFycIvrQX70jJB0XkGIx9I/ttayaAmNbmvNLsHta+c8hOidDwVLJYSQLx5znJgyqz12u+G0EL+UptcRi0ILeln7NG9Q8w3O4IxGdXw6cBmQ60tb1aS562HNes5ngtONls3nSDHUtcWmyKN4QVuwG4ZzxCtCXlxtvawYz6ZfICK7/1qDYeZ6Oprt/+FgT4sxq2ZM9y4cB60wHd+QJ3fsHZWl/Ajwbp1Na+f+oylpfTWFQIO+h87iKLfhX3MgZRk1qHvU1TT/AnSKvsM0XGCIvgJMRw8g1CJCI+b4NXS6riTWREkqZqZaAMm7Oxlf7wYxIBC1VGsy0A0nr6n0hqUX8/FytHHI9ese7BY3YGkj9OKTT9gKQu4A 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 Mon, May 6, 2024 at 10:00=E2=80=AFAM Yosry Ahmed = wrote: > > Do not use __lruvec_stat_mod_folio() when updating NR_FILE_PMDMAPPED and > NR_SHMEM_PMDMAPPED as these stats are not maintained per-memcg. Use > __mod_node_page_state() instead, which updates the global per-node stats > only. > > Reported-by: syzbot+9319a4268a640e26b72b@syzkaller.appspotmail.com > Closes: https://lore.kernel.org/lkml/0000000000001b9d500617c8b23c@google.= com > Signed-off-by: Yosry Ahmed > --- > mm/rmap.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/mm/rmap.c b/mm/rmap.c > index 12be4241474ab..c2cfb750d2535 100644 > --- a/mm/rmap.c > +++ b/mm/rmap.c > @@ -1435,13 +1435,14 @@ static __always_inline void __folio_add_file_rmap= (struct folio *folio, > struct page *page, int nr_pages, struct vm_area_struct *v= ma, > enum rmap_level level) > { > + pg_data_t *pgdat =3D folio_pgdat(folio); > int nr, nr_pmdmapped =3D 0; > > VM_WARN_ON_FOLIO(folio_test_anon(folio), folio); > > nr =3D __folio_add_rmap(folio, page, nr_pages, level, &nr_pmdmapp= ed); > if (nr_pmdmapped) > - __lruvec_stat_mod_folio(folio, folio_test_swapbacked(foli= o) ? > + __mod_node_page_state(pgdat, folio_test_swapbacked(folio)= ? > NR_SHMEM_PMDMAPPED : NR_FILE_PMDMAPPED, nr_pmdmap= ped); > if (nr) > __lruvec_stat_mod_folio(folio, NR_FILE_MAPPED, nr); > @@ -1493,6 +1494,7 @@ static __always_inline void __folio_remove_rmap(str= uct folio *folio, > enum rmap_level level) > { > atomic_t *mapped =3D &folio->_nr_pages_mapped; > + pg_data_t *pgdat =3D folio_pgdat(folio); > int last, nr =3D 0, nr_pmdmapped =3D 0; > bool partially_mapped =3D false; > enum node_stat_item idx; > @@ -1540,13 +1542,14 @@ static __always_inline void __folio_remove_rmap(s= truct folio *folio, > } > > if (nr_pmdmapped) { > + /* NR_{FILE/SHMEM}_PMDMAPPED are not maintained per-memcg= */ > if (folio_test_anon(folio)) > - idx =3D NR_ANON_THPS; > - else if (folio_test_swapbacked(folio)) > - idx =3D NR_SHMEM_PMDMAPPED; > + __lruvec_stat_mod_folio(folio, NR_ANON_THPS, -nr_= pmdmapped); > else > - idx =3D NR_FILE_PMDMAPPED; > - __lruvec_stat_mod_folio(folio, idx, -nr_pmdmapped); > + __mod_node_page_state(pgdat, > + folio_test_swapbacked(folio) ? > + NR_SHMEM_PMDMAPPED : NR_FILE_PMDM= APPED, > + nr_pmdmapped); ..and of course right after I press send I realized this should be -nr_pmdmapped. > } > if (nr) { > idx =3D folio_test_anon(folio) ? NR_ANON_MAPPED : NR_FILE= _MAPPED; > -- > 2.45.0.rc1.225.g2a3ae87e7f-goog >