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 D3F34C5321E for ; Sun, 25 Aug 2024 23:52:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B20F8D003B; Sun, 25 Aug 2024 19:52:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 261F28D0029; Sun, 25 Aug 2024 19:52:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 103188D003B; Sun, 25 Aug 2024 19:52:26 -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 E5B958D0029 for ; Sun, 25 Aug 2024 19:52:25 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 8818BC095A for ; Sun, 25 Aug 2024 23:52:25 +0000 (UTC) X-FDA: 82492419450.24.0CB87B9 Received: from mail-ua1-f49.google.com (mail-ua1-f49.google.com [209.85.222.49]) by imf08.hostedemail.com (Postfix) with ESMTP id C1831160002 for ; Sun, 25 Aug 2024 23:52:22 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=L5NVzIPZ; spf=pass (imf08.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.49 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724629857; 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=aRzEQlj9dVdhpBntlcvy/iu/aFogUcce2etmAOCAWEg=; b=3+HPvKG2+NCmHAn3E8o7IAvfy/FZFFvohk4ovyNLM2ADIAhhr/PtU1uc32rjtn0EYPtSL7 +9/g3AeEFMWqqyFztvRIQ29Ane76NCukR1C5GYx0srI9dIlRJxOUq5ibbiXXyUDe6ryEBm 50cg3mb309Lj5FGqH97aRSJ844Zr+os= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724629857; a=rsa-sha256; cv=none; b=gg7KSygivWxdx77Hcnb7gka9txFkR87rVblBzh1YQPGaw4ZdsUirGz5m1L6J7niNC7YlPt l/ZSJNfDs84fZJZpv2djNXcgEC1NyCGUZJNLmy5fn9G1sheSxEaxwI7MQjJ4CM9gXlNUDM v05dnvG/pivQx53AvJ2eHa39MCIoccU= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=L5NVzIPZ; spf=pass (imf08.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.49 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ua1-f49.google.com with SMTP id a1e0cc1a2514c-842f95d3501so2175655241.0 for ; Sun, 25 Aug 2024 16:52:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724629942; x=1725234742; 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=aRzEQlj9dVdhpBntlcvy/iu/aFogUcce2etmAOCAWEg=; b=L5NVzIPZNvQ6Z4JfxYzeC2YqTRYnldqH9mJ3o/Ynk//nzLWku8rOI9+QgZXcPVqj27 QSxcl4Pi1GkYmocBgSRhf3KLNisF3QyeoPNHdX8slkMCZmw41HQm8Q7Un2nD5EvfvDGI 2hNQT6hPzr/OybfGjP9YDjwecSSCgAB2PXUYzRGl1g0KPw8J8vJ+ACT8nqNRKU3/ka9P tbZ+8jsLWoY+3ZHOy2b2nj0E/BoJDQUJOSM2JcKJ0SUQI8iDl6WS0mrPv3f0CVZ1A1sv ge1tI63kRWK/i2ZTruu9yY9R4Dfk0AaKaY+yT+gqVc/qnyyWcBtTsz0CaHXyEsqCNga3 jm2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724629942; x=1725234742; 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=aRzEQlj9dVdhpBntlcvy/iu/aFogUcce2etmAOCAWEg=; b=gNLY0TwntTA6qsIx8ppZ8cngmlmzg6YZ4rBN8pVeyRqYeT/MsF92iICHWwD36aR9rP Lk9Jv1PxAUUadKcqfBXMPKf6r0qfzIrHMg6SldECW7cF54cV3dt4jP6XY9bXrcbWusVo e6G6XxZY/yYQs7lo5ZFkF93DqcPilXPzMixQA8iTl4UjuWA2x16UwEazOBi6StBCycQk lis9g7K+nTzucNQaHH58lj+5ds5pNvdLpssEuJNXHQB5L19QYimujRfv4hj/I0b+JYBO Qe2JYO8q225w1X+O5bNpsxQ3KXvcDOZkfVQzLc6sF/fmYi5fBML7aoZ3+3424ibVAjrt KZcA== X-Forwarded-Encrypted: i=1; AJvYcCVyKEK5je//5IXDfLt5f0eGTZc2x5AZxjN51DCTfHSeQuBF7Mar5r+Qxj8t+t1wI3Q69J1zbyRchg==@kvack.org X-Gm-Message-State: AOJu0Yw5SST4V14XdRrRNh+eViopg2AzM6dB+NnbMNzbJoFnl6IrA3a2 ubNreVRWOWVzZwFq3+8L4Z+22Shb7/oCpHlKe4pbdCHzBmKyr30BFqtTVNjZFWaz9CrORo+kWV1 rd9gCeB02/5dPaCuL5MRd5E7HCt0= X-Google-Smtp-Source: AGHT+IFjCJK32Xbrqyvw6T+/4qKGZJjZA1L8VgK12nCFbg2fz/iIiSIaUYSOUvrAPA/kqoBZDEs9Ria+fQ1k67TwHUc= X-Received: by 2002:a05:6102:32c3:b0:493:c261:1a9c with SMTP id ada2fe7eead31-498f3d070cfmr5944995137.5.1724629941652; Sun, 25 Aug 2024 16:52:21 -0700 (PDT) MIME-Version: 1.0 References: <20240815215308.55233-1-21cnbao@gmail.com> <33f34a88-0130-5444-9b84-93198eeb50e7@google.com> In-Reply-To: <33f34a88-0130-5444-9b84-93198eeb50e7@google.com> From: Barry Song <21cnbao@gmail.com> Date: Mon, 26 Aug 2024 11:52:10 +1200 Message-ID: Subject: Re: [PATCH v3 2/2] mm: attempt to batch free swap entries for zap_pte_range() To: Hugh Dickins Cc: Andrew Morton , chrisl@kernel.org, david@redhat.com, justinjiang@vivo.com, kaleshsingh@google.com, kasong@tencent.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, ryan.roberts@arm.com, v-songbaohua@oppo.com, ying.huang@intel.com, yosryahmed@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: qoq4n3jeksrmkfx988tcfnrtd4wo118n X-Rspamd-Queue-Id: C1831160002 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1724629942-923554 X-HE-Meta: U2FsdGVkX19eyCxutCuMjNfRC2+WsLVPsXRwE82LAqjSa5Un2lxJxVvgJjCwsS5dPYsFBL/0WPPNvDvEijT5hKEOSI3/Z6fU9KV9PhcYOmq7b3RO/Xs8a/viwFHUVZS3TfE9lM08havZxlON8iPEZDgC6SePMhAZ9xyLMiTQ9mGFvj44YkdDyE/de7eBOWY1bIZdELHRLRQimYnKN/pE3vqn696h99GR/lssWZl7AH3Y0P0NbMVayxaNIRooAR780YwU/e3BR8rqvfRKRY5658mspH9UREReuvYGU/GtXRfrDtL7J/C5dT7SDUmhJKxbs1ONYqsbEruCFx/3HMy8bM9Kj3xtTNNkChDhK0Y06NhqgtTvR78ckBkU2QFKI6QssUxq2fJNMVwP+ykHBYMCKPE7COTle+AMiu4vgUQYuw/E726tPEEMw5yHzI8jP0Cx1J5Sv1yhJErnVyKoYG3epXaDkr/mKRnOxvZrlekkVBAuzPXgacDgpv/JdQl1/z6qSUiNgGD6ChQv+oFELWO7DrkFvlcpCipMWLYK7+It5GhGvf3OHKLfrTz+qUvsi3mwu5A2xQl4+4v8RC3KUVQErYve4tJk8o9QVdBMJIDQe6o8vsY9Ef2FwpJFGBss0d0awAq75lI84Y4SEM1OsK1UIxRNnywqrmhkuLPotq3kYtKO9/deZAIJzv4J3RfVcAKhSRF59XrklAmVW1mdkvGVgn4nwWh2PUqINJzG2nQbWc4+ca54NXdVjV7B5ycE16pShy7+OQlfD5IA6xsz5HNzwiO9QFSuYyjFHMRsJNCsHac9ks0hehpdpgDi0MoX+2HEr0iOQCMMXqihsCCZeTxPvDSb/XAckU2l+xXVz8K8zmu+lrCTj39z1rXVCLH0epcfV4J8FgYtJzzp4xhZbv+8SGwL5q/vbmyX/AJ4HADru5o6QiEYfUMu6jiN6uXL7WaIIX6uKuA64fYkVM4v/69 siKUsyBT pWvuHDauqXOuXB+XctzF2yA5EN53p3/g595NapiTdLL3lOToWaVvnuH1/wBMV2UWAoYtNlWSN5SWPEP0qpfG/Y/L8df6JkCIL9ku6bwPNUAFW6BhzWbcUHPEHCMInrHmzO9Lv88BkDKDIwCcf79fMzegRQKqfoT2eFM7Ai+b3fLbJ5MmTBPTspChfi+A+L4zn0w5OQaHDVCM8lyk6O0oRuTclVLu7GABi/+rZzv/VlIGUI9cGlRyDayLpJ026UpwmFaw81tj+kKIZQszTHVChPIrMykEv89I7eS2rH8CiE923fHR2rHrXg4R8coWQqnUzLZN+qFVZmmd+RLOy4FVXTlPYz4PQR470UmiyOLiyNfRSlEBo0XIy4QsbAgaMn/OEBDbNYN8AQbVkaDQ7Jzs82yKGrVkIWdLyBjD3r4VFsgWA62aIZU7ROavvDZ1wwukctNAehxc6VgTsRhS2A7OgEbpQxrdLlIiDMAxUOeC+mvdBNak= 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, Aug 26, 2024 at 8:09=E2=80=AFAM Hugh Dickins wro= te: > > On Fri, 16 Aug 2024, Barry Song wrote: > > Subject: [PATCH] mm: check all swaps belong to same swap_cgroup in > > swap_pte_batch() > > > > Right now, it is possible two folios are contiguous in swap slots > > but they don't belong to one memcg. In this case, even we return > > a large nr, we can't really batch free all slots. > > > > Reported-by: Yosry Ahmed > > Reported-by: Chris Li > > Signed-off-by: Barry Song > > --- > > mm/internal.h | 9 +++++++-- > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > diff --git a/mm/internal.h b/mm/internal.h > > index adbf8c88c9df..d1f1e221212d 100644 > > --- a/mm/internal.h > > +++ b/mm/internal.h > > @@ -15,6 +15,7 @@ > > #include > > #include > > #include > > +#include > > #include > > > > /* Internal core VMA manipulation functions. */ > > @@ -275,18 +276,22 @@ static inline int swap_pte_batch(pte_t *start_pte= p, int max_nr, pte_t pte) > > { > > pte_t expected_pte =3D pte_next_swp_offset(pte); > > const pte_t *end_ptep =3D start_ptep + max_nr; > > + swp_entry_t entry =3D pte_to_swp_entry(pte); > > pte_t *ptep =3D start_ptep + 1; > > + unsigned short cgroup_id; > > > > VM_WARN_ON(max_nr < 1); > > VM_WARN_ON(!is_swap_pte(pte)); > > - VM_WARN_ON(non_swap_entry(pte_to_swp_entry(pte))); > > + VM_WARN_ON(non_swap_entry(entry)); > > > > + cgroup_id =3D lookup_swap_cgroup_id(entry); > > while (ptep < end_ptep) { > > pte =3D ptep_get(ptep); > > > > if (!pte_same(pte, expected_pte)) > > break; > > - > > + if (lookup_swap_cgroup_id(pte_to_swp_entry(pte)) !=3D cgr= oup_id) > > + break; > > expected_pte =3D pte_next_swp_offset(expected_pte); > > ptep++; > > } > > -- > > [PATCH] mm: check all swaps belong to same swap_cgroup in swap_pte_batch(= ) fix > > mm-unstable swap_pte_batch() adds a new usage of lookup_swap_cgroup_id(), > which crashes if CONFIG_MEMCG kernel booted with "cgroup_disable=3Dmemory= ": > it now needs a mem_cgroup_disabled() check. sorry for the trouble. > > Fixes: 92b50df44566 ("mm: check all swaps belong to same swap_cgroup in s= wap_pte_batch()") > Signed-off-by: Hugh Dickins Acked-by: Barry Song > --- > mm/swap_cgroup.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/mm/swap_cgroup.c b/mm/swap_cgroup.c > index db6c4a26cf59..da1278f0563b 100644 > --- a/mm/swap_cgroup.c > +++ b/mm/swap_cgroup.c > @@ -161,6 +161,8 @@ unsigned short swap_cgroup_record(swp_entry_t ent, un= signed short id, > */ > unsigned short lookup_swap_cgroup_id(swp_entry_t ent) > { > + if (mem_cgroup_disabled()) > + return 0; > return lookup_swap_cgroup(ent, NULL)->id; > } > > -- > 2.35.3