From patchwork Thu Nov 30 10:12:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Harry (Hyeonggon) Yoo" <42.hyeyoo@gmail.com> X-Patchwork-Id: 13474210 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 62165C4167B for ; Thu, 30 Nov 2023 10:13:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F0C778D0034; Thu, 30 Nov 2023 05:13:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E977D8D0001; Thu, 30 Nov 2023 05:13:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D34FA8D0034; Thu, 30 Nov 2023 05:13:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id BE5118D0001 for ; Thu, 30 Nov 2023 05:13:40 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 9B7D84010C for ; Thu, 30 Nov 2023 10:13:40 +0000 (UTC) X-FDA: 81514209000.13.94F976B Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by imf11.hostedemail.com (Postfix) with ESMTP id C2CDA40019 for ; Thu, 30 Nov 2023 10:13:38 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DHJcaNn2; spf=pass (imf11.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.210.181 as permitted sender) smtp.mailfrom=42.hyeyoo@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=1701339218; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=eBuykPjz3vVnLwQWjGnbP2ZlQua+B81WA4wZj6NzF70=; b=7c3uOv9ZQP4eTHCFujEoD3V0xZ+vq9SiDk0YYbktil8dYYyiEgYirQpv5j4nDlDuXx4asl vYVie9hLfWfGWLQA9kCw+7zJAlWoyd9WF4X9cw/S99PyqgYuQeqoHtMrCS8/y2p2R5v0Ct 4tkB79wr+dAMKiep5DEP0YbBHI5/E/s= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701339218; a=rsa-sha256; cv=none; b=KxuOd1ZiunafA3Uu0qP8+Z4wXpLpZfR5DNOqza1svO+CSeC4+A+Oh2YDF8iE/fT88hJjDU DYoFvJldzrv1rvT1NqO/7WTy6H7OjRs0FgWZGupkkD4WfgFyVEgdAUom4aCe7yHSPCW/3g GIY22U3tcrbasITZY13wqyi+XbnIBX8= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DHJcaNn2; spf=pass (imf11.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.210.181 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-6cddb35ef8bso735723b3a.2 for ; Thu, 30 Nov 2023 02:13:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701339218; x=1701944018; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eBuykPjz3vVnLwQWjGnbP2ZlQua+B81WA4wZj6NzF70=; b=DHJcaNn23proWQOSU/FbyH5vjPekkHwMK7xUjwh3jpfdwVvURR9i4s6LJcVNEEw76V trzrwtdZujO2HynzJCLS7I6HpmohxRfDEqJtYFt+je10HQ7t7GA38zrPzbE1fH8CrtE1 ug+VdOrXq+EIW0/mESpLUu5KyC8ZXocMa1cQtmrxujVJUvQqBgESiE2hEZFyI2JqVYRS ufHEwpbN0S73oUgcx0xE1MCCacmMmVZtyA/IhrgcvzR+ow2rbI02MIpnWMtcgwwqf+JM 0B/ypFmqVqH+tGiAWQeaf2oz+o+STqDfxL2DpX+Re1sjQ23ocgsCg2pzotGrdHP0eGVV ZrUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701339218; x=1701944018; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eBuykPjz3vVnLwQWjGnbP2ZlQua+B81WA4wZj6NzF70=; b=MthL1M+xoA0ly714cpmSrT/ajEnqppuCnibSEOmFpx4dQq0BTX695z1ZXgbeQWECOK k9846tIAJakDvlVslQnEoz3Dm4cPey5Jza65JvpkVzQ62L91yUpFkdH/AY2NK1bDEZNw vkw+XY6F1HhhBS/ih5+WOLy3dSvvEiCQhdrNnRXxcokkNdce3OBGAwRNBHbcGiO9Fn4s hMHOrGIiyqJOlRcd/6+Ucc+vdl0otdw2B03ImkBmSQObHsIU7lghv5QaqGjoqks6Fnwy eJWRu2oI1t59Sommq0YSKgqjZTJcTZoO0AjicHL898Q9so7YecN7cjWb8JOdSXbuOtmu Fltw== X-Gm-Message-State: AOJu0Yw/1nHAQ3hDOcoGheDyHBm+sxVK2mmoqTYuXrOz3wzi1xDIlXQf +4ZJ9FX4pIdGQVZeSEVIeVM= X-Google-Smtp-Source: AGHT+IGFtTtuoeoafGm6dGuoU67rcySjIsflHS/zx2u0oTttotwXEkWYyEw2eE/ntqH0Y6rJqY3NbQ== X-Received: by 2002:a05:6a00:1387:b0:6cb:67c3:9c6d with SMTP id t7-20020a056a00138700b006cb67c39c6dmr24263730pfg.25.1701339217645; Thu, 30 Nov 2023 02:13:37 -0800 (PST) Received: from localhost.localdomain ([1.245.180.67]) by smtp.gmail.com with ESMTPSA id r27-20020aa78b9b000000b006900cb919b8sm841402pfd.53.2023.11.30.02.13.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 02:13:36 -0800 (PST) From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: Minchan Kim , Sergey Senozhatsky Cc: Matthew Wilcox , Mike Rapoport , Yosry Ahmed , linux-mm@kvack.org, Hyeonggon Yoo <42.hyeyoo@gmail.com> Subject: [RFC PATCH v3 13/21] mm/zsmalloc: convert reset_page() to reset_zsdesc() Date: Thu, 30 Nov 2023 19:12:34 +0900 Message-Id: <20231130101242.2590384-14-42.hyeyoo@gmail.com> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20231130101242.2590384-1-42.hyeyoo@gmail.com> References: <20231130101242.2590384-1-42.hyeyoo@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: C2CDA40019 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 9daug9idnydnsjuxdbcb4uyybkucwfds X-HE-Tag: 1701339218-144794 X-HE-Meta: U2FsdGVkX18fcKDOB3CF0UsY89OPkeK5NqsykuWYVvHWVbE2//0iIuSylEa+ErkltszkKHW+jRsnUIuhFWcl1FY9M+d7KXJ++9Y1p3DQHpoudOxA0b+k4uFnRXaHL9s8JEpjg9ThMMSKaKxXmENqW2HGDYGYomkjB1tOq1jQPhLiT6nQ9it4oU7A3HgtVayDAZ554gBxDUVHe5c9hkNHdyYC1CLI9GTwy+2kIAGrdApDx/UG/CccI9hOnSBhPMH78uLxg5r6SkIbn5ATTo6Y9jRdzkPlgtLeRhMHCnKk1EoA7Gzw0tXlpE4DmaeEEjOysbhHLStJGZ3wUml8RKaICXmUwdOERHyg1M+5yDQ4dccjjKjFghEq6vxIQ5ugsN3W4Fol5CY0WC9axiAnE2gkgxFrHc9z+ZV32CpzTx2QVaU3naGJNpFgtobTnprVnWJKs9wQExBzMPTKiPLZX4e+T9SdtRp9DC2w5Tz1GeWbzm9UbhAUuuC/rRnp9Cg8l5nyydhqbvyfctOxdIjpt9S+Nra04hGRnDeAiQXyjnGxH4IJD4wY80esPK5Q5as9ie2skCOLOa66gEqU+tMek93yuRFhhxQ0HU1IzJw4btt9Wl5QcYzgV5VwiCURusO0X88tEx5r1ia6le7yOsC5qFbIbZqCUyfXevDeOwBJW0zXe876igCV/DYtImfFv3miAUWlgdqK50QXTIniByaMl62OX43DXWUfMENuI+hwklAeetnrSFOLbIBvJqGY8SZPR9kZik2g7mdr08YQritLrcXm98R9tb2kbcX3Fs08aB6gvs4A8YfoLLR5NiMmakIaarhQS4T1GRREH2R+9gSzVE1oGUP1fwKdjxfrVS3GgEZwuqQg2byt4VR16neF9ikyNM564uL9bZvItdQSCTt5cU2vhJ2fqRnsHn2owcIZyEZUZpT2wOltogKUangiLPwm4oXf7V5dC6InGAAROHeER+b vsaJIFfL c093+dMoxBvwcRRMUS7GusTJuT3/cYpesu2Hgh+9OK+TuPZgcF5xDl8ZofHnu9tkQSSiTKeWRZhZ2o4MIeZFlfm7hvQbPezqk21YAccx2IqZYsIfBXuWYquk7pb8J5U0H3WK5X+7nv9VvFTog8T2JyLoA4YtyadsMKbzUp5Wrn15TLoZr95BfMwk0+f9roPugp7AKEhJlyyF24xi9btbTO+PEe46wQ0hhk8IbzQmcKvD9uAOgljrM0MrIMm04BwrOXHNgXxkq81tjK2csDQTggcG1uGoMP0cIMlrtaXlQIhM1XySWkDf+Xhzc+ncVDw80YMHEonqjF+JoByQcR3aZo9xCVti7t0bzeNik/1OXgVzVJtf92CzS1ozF0Tav/ziRegMQ9TK3U5RsaG+y16D0cXyJ5BJWZp2pU8gLael5LcyfXS+10xiL5kcYc+oCNAQhGQnVP1kmGhp2oMDAy0wsxUy8iwR+243MTn/hLnYjYwBkQ6XLFRiOxKozXtAPVthQ5u0ws13sraqpBcgHu9cH4k41Ir8obv8oxcyPDFExxYnxbgOqX2Jri0O346QRrV1WAMLWLbgjT4Iu7AN2Q24iJKMmqA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: reset_page() is called prior to freeing base pages of a zspage. As it's closely associated with details of struct page, rename it to reset_zsdesc() and move closer to newly added zsdesc helper functions. Signed-off-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> --- mm/zsmalloc.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index 1140eefa3a1c..1252120c28bc 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -369,6 +369,17 @@ static inline void free_zsdesc(struct zsdesc *zsdesc) __free_page(page); } +static void reset_zsdesc(struct zsdesc *zsdesc) +{ + struct page *page = zsdesc_page(zsdesc); + + __ClearPageMovable(page); + ClearPagePrivate(page); + set_page_private(page, 0); + page_mapcount_reset(page); + page->index = 0; +} + struct zspage { struct { unsigned int huge:HUGE_BITS; @@ -966,15 +977,6 @@ static inline bool obj_allocated(struct zsdesc *zsdesc, void *obj, return true; } -static void reset_page(struct page *page) -{ - __ClearPageMovable(page); - ClearPagePrivate(page); - set_page_private(page, 0); - page_mapcount_reset(page); - page->index = 0; -} - static int trylock_zspage(struct zspage *zspage) { struct zsdesc *cursor, *fail; @@ -1014,7 +1016,7 @@ static void __free_zspage(struct zs_pool *pool, struct size_class *class, do { VM_BUG_ON_PAGE(!PageLocked(page), page); next = get_next_page(page); - reset_page(page); + reset_zsdesc(page_zsdesc(page)); unlock_page(page); dec_zone_page_state(page, NR_ZSPAGES); put_page(page); @@ -2022,7 +2024,7 @@ static int zs_page_migrate(struct page *newpage, struct page *page, inc_zone_page_state(newpage, NR_ZSPAGES); } - reset_page(page); + reset_zsdesc(page_zsdesc(page)); put_page(page); return MIGRATEPAGE_SUCCESS;