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 94D6BC433F5 for ; Thu, 6 Jan 2022 13:04:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 25CF16B0074; Thu, 6 Jan 2022 08:04:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 20DEA6B007B; Thu, 6 Jan 2022 08:04:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D4F06B007E; Thu, 6 Jan 2022 08:04:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0071.hostedemail.com [216.40.44.71]) by kanga.kvack.org (Postfix) with ESMTP id EEA526B0074 for ; Thu, 6 Jan 2022 08:04:20 -0500 (EST) Received: from smtpin29.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 9A6B4180CB051 for ; Thu, 6 Jan 2022 13:04:20 +0000 (UTC) X-FDA: 78999880680.29.D367F4D Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by imf16.hostedemail.com (Postfix) with ESMTP id 25114180009 for ; Thu, 6 Jan 2022 13:04:20 +0000 (UTC) Received: by mail-pj1-f51.google.com with SMTP id c14-20020a17090a674e00b001b31e16749cso6934762pjm.4 for ; Thu, 06 Jan 2022 05:04:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=sVQSzR4SW/MjdTNCbawWQclxIiDCCDlvlCWcNdSiJlo=; b=aYFntmZpi/1A7f2zgSveTw5J092LCtkg9gYHatO+kGp7546I2L7x4Pv1dRevww05x6 hN+Y85JxvzIJ+ORMzTfviGdCez0+vhmR+2Wx2BlG98ggGLqsL9XshsJOVdbh5ry35yJ0 K0yn/HfW7PgUUqRdmGOPzvSHCn7dxQOvDtuv2jkQ1JSw+IDoaTOVMkM2kCyFBiAlaF1M AjB2jiEFefKnNgfZWSJto2ov+Z7kOcVhFqnDVER17uvCwaOK8vTlz8+0HBkhOaomhaMG LByVic1VvangfCwFvZiefoirQAPZPITv/VnO9aLYoSsitX6HAe91Lt9sj8gMsLM75RtL MP0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=sVQSzR4SW/MjdTNCbawWQclxIiDCCDlvlCWcNdSiJlo=; b=MGQFAl1NIKRwi0ETKTJbNB/ea0Hz/yMNmpSTcwTs1byK/4lUfV3cSt5tkOaI+Viopo NW8XDI/lKrmA8TI2Gv6rYtu/ulPWmbM1iGL0MfTacndsfD+XsZ+RZqF90mxOgelMYe2R EHt7t1yEtr195HphMl6j8ajPnjHvdnicWPBExIL24e8vfgU5tZjectyS5G52pty1erfy UydHoeGt9mGpwXQ+TrM/RnaLm4Ek5X4NWxctk1jEOUTOAACKJeCsqYWyEk0veHd4L5+j vDlZ8Y83NafRYTpr0inaWFz2KU8P83xAA0H202GNap7fZLQty9Dxa2VoUt6jV41j0fks iHtg== X-Gm-Message-State: AOAM531fhcuVOEJgYO06TIuTrHzYW0jErizmyQ8Sf0HN3c1ihEyISFr6 55EWCMRZgFH6eMfV+M53xdg= X-Google-Smtp-Source: ABdhPJzs6KJtOLErUNPsy9jMGZoT4Alg/c40yXtpJ71bVQRyjPDC+8PJrxe5w8HjysU6EmFuAj84Yg== X-Received: by 2002:a17:902:c784:b0:148:ef6f:fc4a with SMTP id w4-20020a170902c78400b00148ef6ffc4amr59164268pla.165.1641474259010; Thu, 06 Jan 2022 05:04:19 -0800 (PST) Received: from ip-172-31-30-232.ap-northeast-1.compute.internal (ec2-18-181-137-102.ap-northeast-1.compute.amazonaws.com. [18.181.137.102]) by smtp.gmail.com with ESMTPSA id u5sm2649842pfk.67.2022.01.06.05.04.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 05:04:18 -0800 (PST) Date: Thu, 6 Jan 2022 13:04:14 +0000 From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: Vlastimil Babka Cc: Matthew Wilcox , Christoph Lameter , David Rientjes , Joonsoo Kim , Pekka Enberg , linux-mm@kvack.org, Andrew Morton , Johannes Weiner , Roman Gushchin , patches@lists.linux.dev Subject: Re: [PATCH v4 05/32] mm: Convert [un]account_slab_page() to struct slab Message-ID: References: <20220104001046.12263-1-vbabka@suse.cz> <20220104001046.12263-6-vbabka@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220104001046.12263-6-vbabka@suse.cz> X-Rspamd-Queue-Id: 25114180009 X-Stat-Signature: 5cb4dsbadhfjtkonnfnbtyz81rwcow4x Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=aYFntmZp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.216.51 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com X-Rspamd-Server: rspam11 X-HE-Tag: 1641474260-99217 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: On Tue, Jan 04, 2022 at 01:10:19AM +0100, Vlastimil Babka wrote: > From: "Matthew Wilcox (Oracle)" > > Convert the parameter of these functions to struct slab instead of > struct page and drop _page from the names. For now their callers just > convert page to slab. > > [ vbabka@suse.cz: replace existing functions instead of calling them ] > > Signed-off-by: Matthew Wilcox (Oracle) > Signed-off-by: Vlastimil Babka > Acked-by: Johannes Weiner > Reviewed-by: Roman Gushchin > --- > mm/slab.c | 4 ++-- > mm/slab.h | 17 ++++++++--------- > mm/slub.c | 4 ++-- > 3 files changed, 12 insertions(+), 13 deletions(-) > > diff --git a/mm/slab.c b/mm/slab.c > index 381875e23277..7f147805d0ab 100644 > --- a/mm/slab.c > +++ b/mm/slab.c > @@ -1380,7 +1380,7 @@ static struct page *kmem_getpages(struct kmem_cache *cachep, gfp_t flags, > return NULL; > } > > - account_slab_page(page, cachep->gfporder, cachep, flags); > + account_slab(page_slab(page), cachep->gfporder, cachep, flags); > __SetPageSlab(page); > /* Record if ALLOC_NO_WATERMARKS was set when allocating the slab */ > if (sk_memalloc_socks() && page_is_pfmemalloc(page)) > @@ -1405,7 +1405,7 @@ static void kmem_freepages(struct kmem_cache *cachep, struct page *page) > > if (current->reclaim_state) > current->reclaim_state->reclaimed_slab += 1 << order; > - unaccount_slab_page(page, order, cachep); > + unaccount_slab(page_slab(page), order, cachep); > __free_pages(page, order); > } > > diff --git a/mm/slab.h b/mm/slab.h > index 0e67a8cb7f80..dd3f72fddff6 100644 > --- a/mm/slab.h > +++ b/mm/slab.h > @@ -583,24 +583,23 @@ static inline struct kmem_cache *virt_to_cache(const void *obj) > return page->slab_cache; > } > > -static __always_inline void account_slab_page(struct page *page, int order, > - struct kmem_cache *s, > - gfp_t gfp) > +static __always_inline void account_slab(struct slab *slab, int order, > + struct kmem_cache *s, gfp_t gfp) > { > if (memcg_kmem_enabled() && (s->flags & SLAB_ACCOUNT)) > - memcg_alloc_page_obj_cgroups(page, s, gfp, true); > + memcg_alloc_page_obj_cgroups(slab_page(slab), s, gfp, true); > > - mod_node_page_state(page_pgdat(page), cache_vmstat_idx(s), > + mod_node_page_state(slab_pgdat(slab), cache_vmstat_idx(s), > PAGE_SIZE << order); > } > > -static __always_inline void unaccount_slab_page(struct page *page, int order, > - struct kmem_cache *s) > +static __always_inline void unaccount_slab(struct slab *slab, int order, > + struct kmem_cache *s) > { > if (memcg_kmem_enabled()) > - memcg_free_page_obj_cgroups(page); > + memcg_free_page_obj_cgroups(slab_page(slab)); > > - mod_node_page_state(page_pgdat(page), cache_vmstat_idx(s), > + mod_node_page_state(slab_pgdat(slab), cache_vmstat_idx(s), > -(PAGE_SIZE << order)); > } > > diff --git a/mm/slub.c b/mm/slub.c > index a211d96011ba..c94fb4b4d655 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -1943,7 +1943,7 @@ static struct page *allocate_slab(struct kmem_cache *s, gfp_t flags, int node) > > page->objects = oo_objects(oo); > > - account_slab_page(page, oo_order(oo), s, flags); > + account_slab(page_slab(page), oo_order(oo), s, flags); > > page->slab_cache = s; > __SetPageSlab(page); > @@ -2014,7 +2014,7 @@ static void __free_slab(struct kmem_cache *s, struct page *page) > page->slab_cache = NULL; > if (current->reclaim_state) > current->reclaim_state->reclaimed_slab += pages; > - unaccount_slab_page(page, order, s); > + unaccount_slab(page_slab(page), order, s); > __free_pages(page, order); > } > Looks good. Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> > -- > 2.34.1 >