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 AB03EE77180 for ; Tue, 10 Dec 2024 14:10:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3D04F6B01F1; Tue, 10 Dec 2024 09:10:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 37F196B01F2; Tue, 10 Dec 2024 09:10:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 220D26B01F3; Tue, 10 Dec 2024 09:10:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id F0F0E6B01F1 for ; Tue, 10 Dec 2024 09:10:17 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 66EDC140846 for ; Tue, 10 Dec 2024 14:10:17 +0000 (UTC) X-FDA: 82879233108.03.C5A56D4 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by imf13.hostedemail.com (Postfix) with ESMTP id 94C0B2000D for ; Tue, 10 Dec 2024 14:09:53 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PPkaYlhG; spf=pass (imf13.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.214.179 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=1733839805; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=vXfQOdNH8s2y29OlwsvdJtCTj9AW31ogLYQ9YiZsNlM=; b=5zfLUCuHSl/cJakfPEnqtsyyOV3v4aPzuvZQspSzHQzf3Y+wAaSmcB4KUuIvtK2ru6W+vp kJdC6zEOlkjYC0D+mszp6K8su6/J/+VnUBj8MsSW8BRVjbubxSz7ot+CQAacYOsfdeDU2p ECz6tM4rVXKVfOF1VoKfS697VN9mnok= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PPkaYlhG; spf=pass (imf13.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733839805; a=rsa-sha256; cv=none; b=B6/uGxzTp/EDT3hnQWVZJVlKF53xHFyldYFrcSfgg5mp6IEwr4krbT9uPm/KZoTK5X3VdL nCcyXeDc/qHJhAMeu2hn17oAHiTvOOMICGppnKf014jvSu05+HQUx45Uc8ybtXSk37CtFX uBzfaVZKA2WEogmBlUyH8Jy/u1tWDqo= Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2161eb95317so37515785ad.1 for ; Tue, 10 Dec 2024 06:10:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733839814; x=1734444614; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=vXfQOdNH8s2y29OlwsvdJtCTj9AW31ogLYQ9YiZsNlM=; b=PPkaYlhGkKMD3oPt1QJrKMjfyUgHcrLI73POz7bcvEnMeu/E/jkgrA8z8EqftLGRCr nqdfm6Tloz4wPSGzwVSK4CdzMHjtyQ9CZDmjrNTVVRaIKSQYnr/RTy9MNFFea6Ye3Bl/ LYKMLYZ0fWLj5YU9xlIDl/L7eTVLh+zwXYIfKVUQZDx8ZtOzgwL40ON2J0NheGIHaRMO 0PzCQD62TO3uKF6TxYaIIOObdeJE+A/5+gQEBS5keeuDQ9IUqGBqhCdoxJ0KPXyOOFst G6ZUcHU0gT5PGT0ruTWVb3/1iykl9Dz8FdA7WzTfaUCv2ZECzln6lFjyFnqb9kg7x5PJ G6uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733839814; x=1734444614; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vXfQOdNH8s2y29OlwsvdJtCTj9AW31ogLYQ9YiZsNlM=; b=UeDT+mWGcZCCybBHo1D0sUAnKLXiaxoY2B/PvYkjJovwHtfXvupjUaYVq27AMmS7mH 3sOMY/Nk11rBLrYOgVGBGQ2Pko6emB6YlH+RbkVMkaetbVmDRu9JqKzA0TUfjIalrdVU N28khPeN2CsNKhKL3fSKpN9wBEk2GRA8PQFtHSrQ+ypTBs3Tz6W/EmZ16iy5EUJ5ncAV DbXM4AXf2H7rrC7t3YLSqV8grZPrEX8Pf2GzUf1cc32fVLwZZY5kZYmOV+PfmMwHZaim QeozhMubXnATfz9TEShbReTsRJsYiSV8fCrqKFs8VlNfBu9ZBaTN1sbij2GC0uz8avqt BwiQ== X-Forwarded-Encrypted: i=1; AJvYcCX8c4jCgI5KMSSKBxNIxLOcePXoXYtN/SnkPMVcxFvX+BmE9QVCBJc5h5gBhsvkEN3PFN/0f90+NA==@kvack.org X-Gm-Message-State: AOJu0Yy84RRHPx3B7FGMue6qkWrjrINyFjsKvMJ64HLxSuUa3K+MmFEc 5QpYhvqVT0x4xFPJXCOwSyG1GpcZPWZjenQFdbBk2h56SW94hlhF X-Gm-Gg: ASbGncszs2aOVaS/L/U1WKOfcWAQFVY3O0HBHLgiIpot3ZUdk8k3n64CcMmXvMU8V9R C1Gy1dglcYKYTWlj6QGajLwy3AD4tnUPzdq4PPmwXrI5Cv3R43CptqE9FBnRwyiy2mJelkg/45h mZqFc4+B5cwjHk1IG6Rm95GcrmGHuEqP+tJa7MXckB2y+hD1vVIjJch6MfMU/sJQv4rWywc7IOJ I8IaGh3No09m0MmV0Laww4Qv+QG9I9oeP7BXFdDWD38sS+KeuCH1wEhA8X44MYJ2vDl5SoTy/vD wMaXzQ== X-Google-Smtp-Source: AGHT+IHFAE2bDs48HgNorHL+lENcpLZejmPpn5TdEXvsnwZ2EoAiBbeoUowU+OOe/JhzVYDKXFSk1Q== X-Received: by 2002:a17:903:2451:b0:216:386e:dca with SMTP id d9443c01a7336-21669febf27mr80930855ad.30.1733839813920; Tue, 10 Dec 2024 06:10:13 -0800 (PST) Received: from MacBook-Air-5.local ([2001:2d8:690f:73f:ecb8:cdc:8c50:63fd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2161ad52f58sm71841955ad.55.2024.12.10.06.10.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Dec 2024 06:10:13 -0800 (PST) Date: Tue, 10 Dec 2024 23:10:05 +0900 From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: "Matthew Wilcox (Oracle)" Cc: Minchan Kim , Sergey Senozhatsky , Alex Shi , linux-mm@kvack.org Subject: Re: [PATCH v8 17/21] mm/zsmalloc: convert get/set_first_obj_offset() to take zpdesc Message-ID: References: <20241205175000.3187069-1-willy@infradead.org> <20241205175000.3187069-18-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241205175000.3187069-18-willy@infradead.org> X-Rspamd-Queue-Id: 94C0B2000D X-Stat-Signature: ynt4zyoa35gnxr6iuzxea69kojqkoypx X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1733839793-521 X-HE-Meta: U2FsdGVkX19AaQqEQuiJVWb5iLcBKi/56Kf/WN7cHMdWrVyvlBMQF2+Ryzxvuoh7pHqEwuyUG9l0CsV5DEtWp+D+Hyfc2uW5zut9voWhJqflbiniMwR4P0hxfL8sbpGXTugr2R6XNv8b3h8YRw8f49aw6Q5n4TCX16n1llul6WR/E4d0dXvc1k+ljhG6KYE6a8cY4jQF185EpS31XaUxhwCp0BQ365HW7aaOehqYXF7fI3rTRZZdmVtb95s+LjDbViiJk0EyyW0pFsx8+eCyUFu4P0w+5OSP6S44vOFsS7pqH0X1jjOqNWRoxltNcSki0DQziHNmvBmid0G9uRsQi6j26MbtBdFsayLEfo6KUZ402zUyhI7g+yOXce/ljTxSnpn0u9AgRmDeoIsUXzb1znXLFbJxT398kGrOK3roIO5S0X/etA4gCOrySqL9OpuGi/BvG3zAGJGMPgAr/ATOzuNClxBmxkjUh0+PCxwoTMZQ/g4+0f6feRvqBzSZ5uUgCt0RqDUMigGdwHHGLP5QN6z4hhowcAbOsVQ12csy7u5yC43ZBIvtEiqBK0beZ6ik670R29FLrg5ZXyzcC1JbaRQhoCNADWWBsXs6h1JVFWtUL4Q4rFN6e6tnXLyt7/z2uwp5sD32Tk7O4+Hqkt+dywjEX+8la9rtu19a+sXS7c/Qc/83Q7anKLxHf5g7y+rxb99u4jOGXnbF/BwloCYzTdfT06lOQTnnlVEwodkwjjYj1RgIfOO2o5pUcEdLYd8rlSbuEBSr0Op2X4n5McymLt34CWJgdJy9Xnd3nkF4+vLQdToSt3RlJPsv9DgRvVjNUf/bkY8gFv3uFRTsMPVoF+Jugqk0A8K/t2PL+F3b87kVUhScUdNW/au45wedBUcNL4kljUy4oaFAxArHkj364goI/fr0v8x2egFwRQzqRBph6xNY7BFsSZLojAbTtnv8czLrLYA66gsqYcbymxr Mz73rBwc j/29cHva+efX36ahqFWcUp7AJ0yX2UkUsv1wNEkkSpddLiOUIzKPPoc2A9C7MlTC4jKPKL5BDMJCQhdcbMGghEe1A+6XCHb+hadZVQO1SjwYfOsVCP8tmnutrisldJ4u7aRwqGSnk1diQw3m5YmQ1K6s3N0q7Mk2DpZLSOcbZPvbcm+1zEUIV6qQ0UkMl3wwWou7vVV53RBv8bC5+FW2Ln4x0mjsOLufvKKiYi2fV6i+/nqsdYmlsgKtjST2BAifzbMcAwJe35Bk42JO71ULF+AgXlL2sxHYnpFWJVnz6i1Z1FvJu79JoNJlPvcpbdGlhlCyf2clkmcbYmjdOvE7UPk6slaT9U1bxUnwNIrziatZqSZhjkWvMUskmbCJEujhI9uulKkWcgHz5SOHi05LFIJZ4TWWGlOHgIGgU+fR5/u/ZAzZ+TYYlaD/LogC/yEud2UZC6TOe8rwEcQ+AEewyMwNiwwg/nkVfe2FZFaogup7LVBvXGF6owVH2pjj4ObJXyzRVckAX6nMUo7nofrNqGaAjbg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.191533, 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 Thu, Dec 05, 2024 at 05:49:54PM +0000, Matthew Wilcox (Oracle) wrote: > From: Alex Shi > > Now that all users of get/set_first_obj_offset() are converted > to use zpdesc, convert them to take zpdesc. > > Signed-off-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> > Signed-off-by: Alex Shi > --- > mm/zsmalloc.c | 28 ++++++++++++++-------------- > 1 file changed, 14 insertions(+), 14 deletions(-) > > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index 16e3d6705563..a15bdcc25bb3 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -496,20 +496,20 @@ static struct zpdesc *get_first_zpdesc(struct zspage *zspage) > > #define FIRST_OBJ_PAGE_TYPE_MASK 0xffffff > > -static inline unsigned int get_first_obj_offset(struct page *page) > +static inline unsigned int get_first_obj_offset(struct zpdesc *zpdesc) > { > - VM_WARN_ON_ONCE(!PageZsmalloc(page)); > - return page->page_type & FIRST_OBJ_PAGE_TYPE_MASK; > + VM_WARN_ON_ONCE(!PageZsmalloc(zpdesc_page(zpdesc))); > + return zpdesc->first_obj_offset & FIRST_OBJ_PAGE_TYPE_MASK; > } > > -static inline void set_first_obj_offset(struct page *page, unsigned int offset) > +static inline void set_first_obj_offset(struct zpdesc *zpdesc, unsigned int offset) > { > - /* With 24 bits available, we can support offsets into 16 MiB pages. */ > - BUILD_BUG_ON(PAGE_SIZE > SZ_16M); > - VM_WARN_ON_ONCE(!PageZsmalloc(page)); > + /* With 16 bit available, we can support offsets into 64 KiB pages. */ > + BUILD_BUG_ON(PAGE_SIZE > SZ_64K); > + VM_WARN_ON_ONCE(!PageZsmalloc(zpdesc_page(zpdesc))); It seems to be a mistake that occurred during the rebase process from v6 to v7? > VM_WARN_ON_ONCE(offset & ~FIRST_OBJ_PAGE_TYPE_MASK); > - page->page_type &= ~FIRST_OBJ_PAGE_TYPE_MASK; > - page->page_type |= offset & FIRST_OBJ_PAGE_TYPE_MASK; > + zpdesc->first_obj_offset &= ~FIRST_OBJ_PAGE_TYPE_MASK; > + zpdesc->first_obj_offset |= offset & FIRST_OBJ_PAGE_TYPE_MASK; > } > > static inline unsigned int get_freeobj(struct zspage *zspage) > @@ -929,7 +929,7 @@ static void init_zspage(struct size_class *class, struct zspage *zspage) > struct link_free *link; > void *vaddr; > > - set_first_obj_offset(zpdesc_page(zpdesc), off); > + set_first_obj_offset(zpdesc, off); > > vaddr = kmap_local_zpdesc(zpdesc); > link = (struct link_free *)vaddr + off / sizeof(*link); > @@ -1574,7 +1574,7 @@ static unsigned long find_alloced_obj(struct size_class *class, > unsigned long handle = 0; > void *addr = kmap_local_zpdesc(zpdesc); > > - offset = get_first_obj_offset(zpdesc_page(zpdesc)); > + offset = get_first_obj_offset(zpdesc); > offset += class->size * index; > > while (offset < PAGE_SIZE) { > @@ -1769,8 +1769,8 @@ static void replace_sub_page(struct size_class *class, struct zspage *zspage, > } while ((zpdesc = get_next_zpdesc(zpdesc)) != NULL); > > create_page_chain(class, zspage, zpdescs); > - first_obj_offset = get_first_obj_offset(zpdesc_page(oldzpdesc)); > - set_first_obj_offset(zpdesc_page(newzpdesc), first_obj_offset); > + first_obj_offset = get_first_obj_offset(oldzpdesc); > + set_first_obj_offset(newzpdesc, first_obj_offset); > if (unlikely(ZsHugePage(zspage))) > newzpdesc->handle = oldzpdesc->handle; > __zpdesc_set_movable(newzpdesc, &zsmalloc_mops); > @@ -1825,7 +1825,7 @@ static int zs_page_migrate(struct page *newpage, struct page *page, > /* the migrate_write_lock protects zpage access via zs_map_object */ > migrate_write_lock(zspage); > > - offset = get_first_obj_offset(zpdesc_page(zpdesc)); > + offset = get_first_obj_offset(zpdesc); > s_addr = kmap_local_zpdesc(zpdesc); > > /* > -- > 2.45.2 > >