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 E5EA0CEB2C9 for ; Mon, 30 Sep 2024 22:18:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7B21C280039; Mon, 30 Sep 2024 18:18:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 76283280036; Mon, 30 Sep 2024 18:18:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 62964280039; Mon, 30 Sep 2024 18:18:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 440F4280036 for ; Mon, 30 Sep 2024 18:18:59 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id EA26C1A0B4D for ; Mon, 30 Sep 2024 22:18:58 +0000 (UTC) X-FDA: 82622820756.18.BD32085 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) by imf13.hostedemail.com (Postfix) with ESMTP id 1E07D20004 for ; Mon, 30 Sep 2024 22:18:56 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=J7xy8xTi; spf=pass (imf13.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727734610; 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=heICobNBYMwv9PDahOwku+Z5fssVOga50x/P4U0V300=; b=AApO/UpshgwjFzFhp3EC2Bat17wBt8FkoX5ZKWpIpefZnMig27w+fVzG3JNHr6SN+S0Zxp OS3TsL0GRL2voUQh/kSq8GrW6Tb5Aa3yqip6qchFc6UabWsFLYJgo97zvBXMQY3zGUa5zz Pt8tIpsoEr+0adzWM5ou6EQIA3tmG6Y= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727734610; a=rsa-sha256; cv=none; b=nUNJM7+eREosS3aQ+lHKZTyFSDngKW7ojL9KzMCmdaSLPftgTGeq8hQRdVaS7HcEgKfqmP pO+zv0l0l03yNTgPQbPDnP1IMruqVFArQyH7CobmFVSsxoHhqPSQU9jS9nwQtQh1lPLUAG bt9su/cGB2HtxniRNqM06wPZON+OZP0= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=J7xy8xTi; spf=pass (imf13.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-a8b155b5e9eso762482766b.1 for ; Mon, 30 Sep 2024 15:18:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1727734735; x=1728339535; 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=heICobNBYMwv9PDahOwku+Z5fssVOga50x/P4U0V300=; b=J7xy8xTiVTOPoA93r3TdWyi0o0CtEH/OvrvNdOmwtPO0b26qpUZ/SV5QJuxv2bQMNr qTWxCg5pzSaHeBQqNFaF8hqRoYnrfp8P+DPLnbXzQAQUnZgIhWtXXDuQdq4G6TA83Cir A5zsv05GPv4NV6PrwewDoZrYnD8jrBptKw/h/a7tr4c4gE4hMoSazBMsdM9wAjBm9oQt L0GApmybvs4QE4RpJOFvNBpItd1DyI7XZ/2GL2FoBgTQWNTUqHGV883c7UjGiUw3axka MAWNr44kq7wc07m0bGRJGNSCPtIYFicdrDucHwuXcOxGSZcGBVMbZ6dc10WzOs46VYu6 198Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727734735; x=1728339535; 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=heICobNBYMwv9PDahOwku+Z5fssVOga50x/P4U0V300=; b=itAWBqDjxKzVW1plPst0TctD4CSz71sFwJHLGvW6/zT90njiPPpIsL80Wg64c7Ls5w cq8hY4at15C/ht9LHZEAAwaB/rwOM7yMKwdpWzJVWMWQSy9al/n/FoMlMS12l6lPv3tO S5NKPAnhMa4IsuVEKPhyPyRfa3o+ZXbhimVtsFiIN5ThYrO1gvC8gyX/tGwD2RXsUZjT U0YIte6BxXtJGTm2nBGQQI6nYAyXmnHyoc1ZZ3o1bqJxA+u1EN9UoZtZW1xXmR1nuoku C1B2LhOOv9B1opIhElg91oo52cR/gMT6z2tEGL7e3pyUN7G3M6PCAJgEIoCcRX1lhsxK iihQ== X-Forwarded-Encrypted: i=1; AJvYcCXUhq7VlDOZHI/Sg5j3ZMHGn2NuaUIzX0fV3UtUrPXpKUhzYL+WNkBMVxRe6DOxAwoBYxdUexj5tA==@kvack.org X-Gm-Message-State: AOJu0YwxrQE+Pz8FoXpo/AAwFf5ah4Rixf1R1o1A9De/B2Wgc6eONPK4 u1McecozG4rfSclC3MrDSoVivU+BdvXhbIJtX2fUodXFVC4vD4X0Q2wqSmHxodAfSVTegzJ43IJ rH+dFWzdPEVws35Wi1SB8WOady56UPbyuqc99 X-Google-Smtp-Source: AGHT+IHaeSxvBrJy99GOT3SSJsPPagdLkfDvOub+IYZOWAEFcbOG7+eMRwWfmvOeYMg7yBubB4BUV49rQCViiYcPzAM= X-Received: by 2002:a17:907:9344:b0:a8d:55ce:fb7f with SMTP id a640c23a62f3a-a93c4c40561mr1372783966b.62.1727734735219; Mon, 30 Sep 2024 15:18:55 -0700 (PDT) MIME-Version: 1.0 References: <20240930221221.6981-1-kanchana.p.sridhar@intel.com> <20240930221221.6981-5-kanchana.p.sridhar@intel.com> In-Reply-To: <20240930221221.6981-5-kanchana.p.sridhar@intel.com> From: Yosry Ahmed Date: Mon, 30 Sep 2024 15:18:19 -0700 Message-ID: Subject: Re: [PATCH v9 4/7] mm: Change count_objcg_event() to count_objcg_events() for batch event updates. To: Kanchana P Sridhar Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, hannes@cmpxchg.org, nphamcs@gmail.com, chengming.zhou@linux.dev, usamaarif642@gmail.com, shakeel.butt@linux.dev, ryan.roberts@arm.com, ying.huang@intel.com, 21cnbao@gmail.com, akpm@linux-foundation.org, willy@infradead.org, nanhai.zou@intel.com, wajdi.k.feghali@intel.com, vinodh.gopal@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 1E07D20004 X-Stat-Signature: eoczty4eqafk8xrq7hkrr1kc358sju8a X-HE-Tag: 1727734736-895630 X-HE-Meta: U2FsdGVkX1/JO+VqWYeA8Kki5dbEfh1MikgQSkBDeBJpUHiJ8rq901RfPXDxKWDouiWv3WG9GjwjZA8ZwnHjJimMkBh8t/cc+qG553d6cqHvubaBFpU/6gu0A5zI4ZHtDW611oXHttDMrTIDO7Bk2ggd9ck0qbs6SXXnK7HnSRpPjm4NHVeUf8/ilD3SttqOnOKrbsoR+TGeyesoO4yR7UIeiX6nW9GQgsKEBMj2/+ykFu3UIhJCmrowNG11LypCdW/th54r7XpHUAuIgqKEnrcGANhO0adIVB826AcEHKW1mUH3uUe1e4dJ4R41TmoUwDHc/Fh14l/oZpWpsRUx1zlrTle05gIzMdIHLL+T014jUrYILYSq359w2NUcKklCb1o+Gw0tEpoyORydIdYkSqzubxar06fltUhsQfyvYay3HnJVIAdiEyRHuzId8KULX0EMp9gdkdkvU8FZ63gC3I8qOFar+2y3x7nwk+OuOB/t2+54BpiCJIfEYRsYVprwqliwOd4js/z4MAV1p/vjuGKaesbytghNCx7CIExI2s78iv4YOxS3DlpxU7vKPNbkYFuw8LCgsXdhfhdkgTeDxQE1+fXxUEUmJT0g3A/MjO3eTzSMl8UMN0uluqju5hvf3TWnkS4hPQcPGe2FwNl7qbeTb4W2C+YoEZkuATGqXC1neVTN9dkEA1LHfiuhcmYTKY9y6UWG/LrcCJ4oK5Jfw01vfzrL0RrfQJiuLxECwtCW8bunJlergR8t7Hy2nlmvo8/su5h0YOBiPpxSkASpulgSGipXnEqtm7opghWfT/k+Nyn2DLgcBAJp0iBdGDDC+z+ZNoGrsR5SsdcPtZGcCm5VS9kmPMdsty9yAW3sktynLCxAyEPW0F7xseZ/f2HMc29QBD9o/Wa7YvYFGpCcRWF/os+I/cE+knDNBzkreQTGbQC/Jo/WMtSYrcbsepN/5p0rXkUz6BrtAaTmnwe ZCSkUqQ8 Ni9qpBcnMp1y+Z0X4cn1CxkgTiY3cgQA3fBXuP5WlXAtgRfqJeQ3RqQ2uWTr3aPML3E6a5pzYt8z6tPtAlX4WprINTEDFvLN4jBWAL6DXN6xx7ih8C968eAUrdW0dVX0rosJetk/w0aX7fjKwGeHYiXndquOm73pP5ZUnHeFPRLFDFxHjDMPmPyUXl+Feu0cqmcINTzIdnQC+x+3nY2QJr/pX9/oDdKnTVtcssDxofw3/c/f0hPgGsXyul8wFkoWCtWBhtOAOD7R/zK+0Ub/HFLnFFZOntVIZx3vG 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, Sep 30, 2024 at 3:12=E2=80=AFPM Kanchana P Sridhar wrote: > > With the introduction of zswap_store() swapping out large folios, > we need to efficiently update the objcg's memcg events once per > successfully stored folio. For instance, the 'ZSWPOUT' event needs > to be incremented by folio_nr_pages(). > > To facilitate this, the existing count_objcg_event() API is modified > to be count_objcg_events() that additionally accepts a count parameter. > The only existing calls to count_objcg_event() are in zswap.c - these > have been modified to call count_objcg_events() with a count of 1. > > Signed-off-by: Kanchana P Sridhar Acked-by: Yosry Ahmed > --- > include/linux/memcontrol.h | 12 +++++++----- > mm/zswap.c | 6 +++--- > 2 files changed, 10 insertions(+), 8 deletions(-) > > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > index 15c2716f9aa3..524006313b0d 100644 > --- a/include/linux/memcontrol.h > +++ b/include/linux/memcontrol.h > @@ -1764,8 +1764,9 @@ static inline int memcg_kmem_id(struct mem_cgroup *= memcg) > > struct mem_cgroup *mem_cgroup_from_slab_obj(void *p); > > -static inline void count_objcg_event(struct obj_cgroup *objcg, > - enum vm_event_item idx) > +static inline void count_objcg_events(struct obj_cgroup *objcg, > + enum vm_event_item idx, > + unsigned long count) > { > struct mem_cgroup *memcg; > > @@ -1774,7 +1775,7 @@ static inline void count_objcg_event(struct obj_cgr= oup *objcg, > > rcu_read_lock(); > memcg =3D obj_cgroup_memcg(objcg); > - count_memcg_events(memcg, idx, 1); > + count_memcg_events(memcg, idx, count); > rcu_read_unlock(); > } > > @@ -1829,8 +1830,9 @@ static inline struct mem_cgroup *mem_cgroup_from_sl= ab_obj(void *p) > return NULL; > } > > -static inline void count_objcg_event(struct obj_cgroup *objcg, > - enum vm_event_item idx) > +static inline void count_objcg_events(struct obj_cgroup *objcg, > + enum vm_event_item idx, > + unsigned long count) > { > } > > diff --git a/mm/zswap.c b/mm/zswap.c > index 0f281e50a034..69b9c025fd47 100644 > --- a/mm/zswap.c > +++ b/mm/zswap.c > @@ -1053,7 +1053,7 @@ static int zswap_writeback_entry(struct zswap_entry= *entry, > > count_vm_event(ZSWPWB); > if (entry->objcg) > - count_objcg_event(entry->objcg, ZSWPWB); > + count_objcg_events(entry->objcg, ZSWPWB, 1); > > zswap_entry_free(entry); > > @@ -1482,7 +1482,7 @@ bool zswap_store(struct folio *folio) > > if (objcg) { > obj_cgroup_charge_zswap(objcg, entry->length); > - count_objcg_event(objcg, ZSWPOUT); > + count_objcg_events(objcg, ZSWPOUT, 1); > } > > /* > @@ -1576,7 +1576,7 @@ bool zswap_load(struct folio *folio) > > count_vm_event(ZSWPIN); > if (entry->objcg) > - count_objcg_event(entry->objcg, ZSWPIN); > + count_objcg_events(entry->objcg, ZSWPIN, 1); > > if (swapcache) { > zswap_entry_free(entry); > -- > 2.27.0 >