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 B8E77C001B0 for ; Thu, 13 Jul 2023 04:21:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 508688D0008; Thu, 13 Jul 2023 00:21:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 441D68D0001; Thu, 13 Jul 2023 00:21:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2BACA8D0008; Thu, 13 Jul 2023 00:21:50 -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 155AB8D0001 for ; Thu, 13 Jul 2023 00:21:50 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id DB704AF4FD for ; Thu, 13 Jul 2023 04:21:49 +0000 (UTC) X-FDA: 81005290338.30.11CE31F Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) by imf08.hostedemail.com (Postfix) with ESMTP id 0E333160006 for ; Thu, 13 Jul 2023 04:21:46 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=M64LK05+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.167.179 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689222107; 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=eXM4L6ATnQ4xrg8tTfTjz4QRtMoQblLyPPhiA9zDD8E=; b=o2moafi0PKmZQ0NnjvkCwqkaPxF6ODyjc3GMnmvrSkoDrDSM4yRTpAyJo4fxtMjCIvIm+C cHVwYWDIv6QpSP9bfrYBaGDMPXankQifWQ95GCHH+sbbS3e3W6KasbhS4dJiqwmgXXie4C wERcWIux2jVNRF573pdngOiFkovm9wY= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=M64LK05+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.167.179 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689222107; a=rsa-sha256; cv=none; b=5JgqrhzMs3ifVB7jmWm2dBxbJfNf3VNjJoypPWP92YfymHeHvSdZsxWdTqIdWfj2JSg1zP d3172O1Sr9uNCJnyHOZqajch6zdGSIFzYuNTrmAnl421/XbM1XZ2ib/HxfbA4H4TBUTbsl 8oCibXkD3/YoVJDfMwcHAH9l15LZHys= Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-3a1ebb79579so283885b6e.3 for ; Wed, 12 Jul 2023 21:21:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689222106; x=1691814106; 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=eXM4L6ATnQ4xrg8tTfTjz4QRtMoQblLyPPhiA9zDD8E=; b=M64LK05+hua14coRfSAzgdWbmeWOfjeIcnMe8zHhEEq6QZfU+wicBwfhOlbx7f712p MCCVAAWPzNo3Qc49xeRW05dxjBSHHqRcqunGvYK0pYS6L+gPbY9eAfRpW+PEVWOnMgwm mRuybE0qcPvJWT52YiqJU/z4k9UphElNmJ66v6/+Wy2VTIZ/VE+ED1zF44gtWuANKLX7 OL+nN4m5Z7XRCwbQQdqcMQ3ph1yGrn7MUeyQDVo0XCnzFnLf/zSV9e5SxA0vBgl5vXB/ j/SOEuJk4oFEFhmM39sbUj2Sk4Ip6WU0A4Fa6blAp1QbYef/HX06f5QtVIbQ9YsoBg8G /gVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689222106; x=1691814106; 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=eXM4L6ATnQ4xrg8tTfTjz4QRtMoQblLyPPhiA9zDD8E=; b=iaZ7d/RavbDmsvhJw6/eo+hew6ahMpgcsyPuQL8Dtflv5iZVEEOYjNLxjz9L4a2XQS 6IKTNXlKpfWb/LI43+JrHjrXplS8Zqs6uM+NqgK41HFWJLX6BPQwWvHPrZYvDmi0Ed0w e5pXyrNV261JdpqJ5GAa755RnM8EEug/xjgwwPK/CuolKRHJhRXpdGm9NFcvfj16ceue YRdyxWwSrsh/zV4ahHrl9o+dGEZ9pPNYT1t9tKfVx3ao5v4MgzWiV+JSPKJ4gWux+o/O 8GVpFyzqSU3afOpOl0qVgr+zYmyxFvY0fINbcxtbENBuBLhXy71WSSbiyXP7SLyR7MXl wrEg== X-Gm-Message-State: ABy/qLb9bgcJDc/oDCj/HhH+kh8FwOKVD+lp7BZjtWY2u8rr9V54HgPu jxQ0pMiFgOArtQE3wmy/xZU= X-Google-Smtp-Source: APBJJlG+h4Yqni22gjogscFoMXfmzoSDOy/WAo/NSF0NWCEAbsC70HXke8WrSb7H557DGFEUsgq9Pg== X-Received: by 2002:a05:6808:1246:b0:3a4:17b0:2b12 with SMTP id o6-20020a056808124600b003a417b02b12mr628547oiv.11.1689222106137; Wed, 12 Jul 2023 21:21:46 -0700 (PDT) Received: from fedora.. ([1.245.179.104]) by smtp.gmail.com with ESMTPSA id u18-20020aa78392000000b006827c26f147sm4346601pfm.138.2023.07.12.21.21.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Jul 2023 21:21:45 -0700 (PDT) From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: Minchan Kim , Sergey Senozhatsky Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Matthew Wilcox , Mike Rapoport , Hyeonggon Yoo <42.hyeyoo@gmail.com> Subject: [RFC PATCH v2 18/21] mm/zsmalloc: convert get_zspage() to take zsdesc Date: Thu, 13 Jul 2023 13:20:33 +0900 Message-ID: <20230713042037.980211-19-42.hyeyoo@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230713042037.980211-1-42.hyeyoo@gmail.com> References: <20230713042037.980211-1-42.hyeyoo@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 0E333160006 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: nubbh8dgrt7pcee95ifxu48rq3uo6957 X-HE-Tag: 1689222106-664223 X-HE-Meta: U2FsdGVkX18AjEvJd2JwwZV4PFkVMDOcnz7Ne3HqLW+rq42O/niI+tsleuYtoVJpZ7DNFKMs6DM3TOOtl4MAovh4IxNEInQnmBAtWs/yk0547SKMycOpULeqEB0OzqafRrEnfPKh+mUOdRXSJ5SrvneyVzNa+/90l8yLEWyr+DPRjOwygrISRR3hklbbLbkoNv66E+vtJWemVLSDa7/Mg1u7Zt/XsrwABBOgTL3UHpQBDnDOX+3Lh+6Q5YGh3aDGKlKgulpJ4afMC6px5c7sE3TMpWxjMRSnooSzaeN2OHuqMfDC+Od8j/hbzpx/33MpLEL0SGd7jKCwXHHIPglJkNwo1ntaVSs9HdnwEHnlm3UyuKcXJ3EzZ16Rpor2r2u+q3XSwqsC6YDCtJZmV5ZhOSJIuLBsrdLxzDFIfWk3F17IQJwobCqUzy3oPHUWwx1gNRIUmSF4lGZ/5D2cMNRVx5YabkA2OhnzP03tmxuEnVDkgmmnNZN2f5Dc7WpN78N1h+9ceQJarD+A0gYGDhCLM5rsm5QH0TizyC1niP3OIJoazfErQF403ByPWaF7Ue++/E583f8VTZY+wHQ+6EWDynfResWzkHNKCmgYoNBq75YX/ofmBDcARxnc/QUL7GQJMRI+6LnTkQF2lCTmPqdxHYAsmw31DvSnDJUhxeQnztSHEXCJRF3WrOustrKo4UtD/2ydBGbkeWIpRwZ2n+6VTDv5BU03sQvdriLxsbPDdo8WN6jL9FtUtTAZ/X5bGNgTS0SknbeECvFXyFzCMR6SxDNCJqKxbTWu5gJEX3l9YmLxig16ULtOIF+ipimRBN84XIAZn2GeBLeawg8YPhCsLa7vDVdZKwDkIhVja30+ozKT5aOAQnCL1/3Qp012JZEpWbn/Cznkl2FVhbJQIwEgPcnaV3YVYmGOVUcznDHTnATRdbpLHk/iUITSExS/1Jo2T6tHmeo8TchzEeBPwGA bB0GL3Sp 2LikykwlKFBYa55ZaPUewVfYEGTMT7oMUlCQ4KF3/jgRM1xz8LZA3bFh4gjnTN0KjLJ6UHikNcvReT4EnkSLtwf4TAYJCTkE8OjewQmPFoDsAy0K2bhvnS00LPNM3Zt7tfaAimFxyVvAT9vWIJYC46OSU3gTEC9xAJJdwDMK3ezBq5vcUHrZYuYe0rqsjbZRQ/jBFLY09Q4S561tyupXooPWDMeuJVt8WUcEvnmlr6zaoAbKUtSyVJ+eDtsZWqzzkg/0l3W2iqXLNaDmgbCtVnC8++Cquh22sIIVAk7QRjUVBvV2jZuSaeSiyJ7L1DKlOwwQz2wcW1oFKcCwu7+zxzT83O9SpmfX1l+blePCnH0yhdM4LOj6k4bF9RJPGOeXh05j7926Ww6JlIdGTRGCTkZRLdtCEW1hIondZPVBxJuTmdmXY+7uN01hAFp122Etcne6kGhAWZm8i7JHW6HYoyiE2e2dB2iUqtoJ0okRl08tqRuoREBp9F7xqNluOib6FyWhOs1BbuL49Fsy3QbZcaXYuWHmuC8QNczgqNpVmAkpMulNATcFQtZrQi3QqdLm4kQ0Cv/FiUBe1IY43ibDznG85DQ== 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: Now that all users except get_next_page() (which will be removed in later patch) use zsdesc, convert get_zspage() to take zsdesc instead of page. Signed-off-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> --- mm/zsmalloc.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index db43a5d05233..6cb216b8564a 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -899,9 +899,9 @@ static int fix_fullness_group(struct size_class *class, struct zspage *zspage) return newfg; } -static struct zspage *get_zspage(struct page *page) +static struct zspage *get_zspage(struct zsdesc *zsdesc) { - struct zspage *zspage = (struct zspage *)page_private(page); + struct zspage *zspage = zsdesc->zspage; BUG_ON(zspage->magic != ZSPAGE_MAGIC); return zspage; @@ -909,7 +909,7 @@ static struct zspage *get_zspage(struct page *page) static __maybe_unused struct page *get_next_page(struct page *page) { - struct zspage *zspage = get_zspage(page); + struct zspage *zspage = get_zspage(page_zsdesc(page)); if (unlikely(ZsHugePage(zspage))) return NULL; @@ -919,7 +919,7 @@ static __maybe_unused struct page *get_next_page(struct page *page) static __maybe_unused struct zsdesc *get_next_zsdesc(struct zsdesc *zsdesc) { - struct zspage *zspage = get_zspage(zsdesc_page(zsdesc)); + struct zspage *zspage = get_zspage(zsdesc); if (unlikely(ZsHugePage(zspage))) return NULL; @@ -972,7 +972,7 @@ static inline bool obj_allocated(struct zsdesc *zsdesc, void *obj, unsigned long *phandle) { unsigned long handle; - struct zspage *zspage = get_zspage(zsdesc_page(zsdesc)); + struct zspage *zspage = get_zspage(zsdesc); if (unlikely(ZsHugePage(zspage))) { VM_BUG_ON_PAGE(!is_first_zsdesc(zsdesc), zsdesc_page(zsdesc)); @@ -1377,7 +1377,7 @@ void *zs_map_object(struct zs_pool *pool, unsigned long handle, spin_lock(&pool->lock); obj = handle_to_obj(handle); obj_to_location(obj, &zsdesc, &obj_idx); - zspage = get_zspage(zsdesc_page(zsdesc)); + zspage = get_zspage(zsdesc); /* * migration cannot move any zpages in this zspage. Here, pool->lock @@ -1427,7 +1427,7 @@ void zs_unmap_object(struct zs_pool *pool, unsigned long handle) obj = handle_to_obj(handle); obj_to_location(obj, &zsdesc, &obj_idx); - zspage = get_zspage(zsdesc_page(zsdesc)); + zspage = get_zspage(zsdesc); class = zspage_class(pool, zspage); off = offset_in_page(class->size * obj_idx); @@ -1591,7 +1591,7 @@ static void obj_free(int class_size, unsigned long obj) obj_to_location(obj, &f_zsdesc, &f_objidx); f_offset = offset_in_page(class_size * f_objidx); - zspage = get_zspage(zsdesc_page(f_zsdesc)); + zspage = get_zspage(f_zsdesc); vaddr = zsdesc_kmap_atomic(f_zsdesc); link = (struct link_free *)(vaddr + f_offset); @@ -1625,7 +1625,7 @@ void zs_free(struct zs_pool *pool, unsigned long handle) spin_lock(&pool->lock); obj = handle_to_obj(handle); obj_to_zsdesc(obj, &f_zsdesc); - zspage = get_zspage(zsdesc_page(f_zsdesc)); + zspage = get_zspage(f_zsdesc); class = zspage_class(pool, zspage); class_stat_dec(class, ZS_OBJS_INUSE, 1); @@ -1951,7 +1951,7 @@ static bool zs_page_isolate(struct page *page, isolate_mode_t mode) */ VM_BUG_ON_PAGE(zsdesc_is_isolated(zsdesc), zsdesc_page(zsdesc)); - zspage = get_zspage(zsdesc_page(zsdesc)); + zspage = get_zspage(zsdesc); migrate_write_lock(zspage); inc_zspage_isolation(zspage); migrate_write_unlock(zspage); @@ -1985,7 +1985,7 @@ static int zs_page_migrate(struct page *newpage, struct page *page, VM_BUG_ON_PAGE(!zsdesc_is_isolated(zsdesc), zsdesc_page(zsdesc)); /* The page is locked, so this pointer must remain valid */ - zspage = get_zspage(zsdesc_page(zsdesc)); + zspage = get_zspage(zsdesc); pool = zspage->pool; /* @@ -2049,7 +2049,7 @@ static void zs_page_putback(struct page *page) VM_BUG_ON_PAGE(!zsdesc_is_isolated(zsdesc), zsdesc_page(zsdesc)); - zspage = get_zspage(zsdesc_page(zsdesc)); + zspage = get_zspage(zsdesc); migrate_write_lock(zspage); dec_zspage_isolation(zspage); migrate_write_unlock(zspage); -- 2.41.0