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 2B600EB64DD for ; Sun, 9 Jul 2023 03:17:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 726CD8D0001; Sat, 8 Jul 2023 23:17:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6D7626B0074; Sat, 8 Jul 2023 23:17:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 59E518D0001; Sat, 8 Jul 2023 23:17:53 -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 4AB096B0072 for ; Sat, 8 Jul 2023 23:17:53 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E5AE116026A for ; Sun, 9 Jul 2023 03:17:52 +0000 (UTC) X-FDA: 80990613984.27.4B23F85 Received: from mail-il1-f176.google.com (mail-il1-f176.google.com [209.85.166.176]) by imf03.hostedemail.com (Postfix) with ESMTP id 2B4C320004 for ; Sun, 9 Jul 2023 03:17:50 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=c2WG6gTa; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf03.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.166.176 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688872671; 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=pajua8DTHe0LU0NvKmaZNmhsvntfPsVegLLIN6qeonw=; b=CKGll6anIELqPx+G9q14MzUif9BoFTDMAFW1m5eksaz/KtFqXXyOLDKF3S7XXEp0HIKEfL S05BQ1o9XAF79+gjSnbZ76ojfW6uGGyl1lcjBZ07PBJZulU79zsCruHdYHaaPQdnoXRxsq YsKjQDdKOLtTpdk9fPqCyxieAMxmcv8= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=c2WG6gTa; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf03.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.166.176 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688872671; a=rsa-sha256; cv=none; b=7/YV+kWz9JtGuqlJhSOaGPQv8g48I5csdfB6Ykf4y8uPVCAdSQ40lHK+PkqAqRPQfJPKEY 5cI/9CIIdHobcKlp3EOgQA1zyuI23XlFcl/udgjANucxCQCe+fyfh8H5OSSxbWYun3jMuG PUhM7iyM2C5Gy8hZiB+RZKHZQZewljA= Received: by mail-il1-f176.google.com with SMTP id e9e14a558f8ab-345f3e28082so11823915ab.1 for ; Sat, 08 Jul 2023 20:17:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688872670; x=1691464670; 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=pajua8DTHe0LU0NvKmaZNmhsvntfPsVegLLIN6qeonw=; b=c2WG6gTaY4IteKtOpXpcjKS+BWSbpB5O8qaTASoNGNpKHf4J2nfK53/4KW3Vi2zvLA 7wD47mrT9oa7hQcWeWBQMzYPiZts9cZnCXhN8ljXD00i4raGQxdys7Wf5uMh3xmcWYiz Lv5+IVU5ccxnf9A/rjj6QLTAX0Q1noWmFrPuLSFxMCVHaAvk8ELh3oWpOgnQRj5ZP6/j mDy+zlAZSGXll8kmqnbeeOkX7qWDeIa+b/fm1hfxz+NpxW4Xdu67cz3aw5XYs+d+iYCL XPwZPM7JRrYPsoBUAdIIxhnBzvJdGZfdzP7Vh2TXi1yq1Wr96KYw8rpePMpk4eSLNBVg pjDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688872670; x=1691464670; 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=pajua8DTHe0LU0NvKmaZNmhsvntfPsVegLLIN6qeonw=; b=SOtFp00LIni0T2jjSOKD6AyTpfI4yET3h32IEz02Ljru0qPF6bVABgqwykktbyfQgu g3Jd8PVZCmXBt5gahBpTcyIKsg+D5pmjDt8CESatV9RaKzSGCJ4gHnvOkAALv92kKpky Q/Kf2RvMTx3Dt/cJ+k7pEPUH9lYscCEfemY4W2tsr1yWzxChaU5teKss79Cp74bbYgKf e/XX/xjfaPW0B4vaGAx5H960jA5QNrUn789p1GxJvauU1YpGOFLkGukCtOhZTwlbtqWa b1w7vP83lMYna2y0ZpMZNAlgvU7BJKHMnTUlWEl1AWjteV44R8LLqL4WDzsCKi9HsbEj q0Hg== X-Gm-Message-State: ABy/qLaKipVsnhNLnLboHkVtE8KSlGaMPhMhDr0CzoziWkWPrjz1TclE zt64/K3WCYOcVnbhPIXS94hFGDUgy2eUfsrRxVQ= X-Google-Smtp-Source: APBJJlFT7whb+5VDOt40wDM/7VHrKni1kUHfulszhQQyIXD3338u/uzr61koCtRt8FNo9kBQszPUshUc0Wgb+vvYBag= X-Received: by 2002:a5e:c103:0:b0:783:43f2:1b4b with SMTP id v3-20020a5ec103000000b0078343f21b4bmr8925237iol.6.1688872670180; Sat, 08 Jul 2023 20:17:50 -0700 (PDT) MIME-Version: 1.0 References: <20230709025817.3842416-1-senozhatsky@chromium.org> In-Reply-To: <20230709025817.3842416-1-senozhatsky@chromium.org> From: Nhat Pham Date: Sat, 8 Jul 2023 20:17:38 -0700 Message-ID: Subject: Re: [PATCH] zsmalloc: remove obj_tagged() To: Sergey Senozhatsky Cc: Andrew Morton , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 2B4C320004 X-Stat-Signature: bar5a4xz3k5nqwcr548ut8s1eib6zrsx X-HE-Tag: 1688872670-916794 X-HE-Meta: U2FsdGVkX19hJ3OP+CUWXo/ULCMMh77YwGo5RjNfzsZubEqAmjsPiIZjPc0aBjTg4+qky2GpIyz35JEiWp88NyzaBI4/h1e7Md4I1GKSCdQKMyMV2z/DblhZ1HkxWXiPxWvSyYybQyhfS/Tc5yuETFBa+igfTqMaYtH0zbc44+h72bXZNLE4WISjaxD9vWLw3BY7jB7D5H//9Vjse2/F/rIgL5pAuTDjkJ87VgTF/bNWN8wVDad+wr+2l9M8ay89n5sYSiYtQZFv1UEY3ODjENp40A2CNaMBvcIsxTmDf4JxrZ3hBcN0FMnuitmqGN24keeqgd2maeOOii9yGOz+Xxz6Sa0NylW4togZbPlDGrQeyssY8zH52brbPwO2FtjMebGi+pyEALXRXVo2eU1CByOhnVpvuTuzoKthDa/ffwnGEWBO5lW1i70IjUCsh7xZk15QG2jQOrqZlfMums87kn5MlYqbJ4YxxOFNFNw/4Z/8O8XqlVVnvt+s1hQ+itzSCRgVQZi6toNkno28OXl3FXYD01jU+OUhQOyMlJ1hVmDiwEjG22P74fvlyZExyli8DGSBvh0WtapdRPYsPd8tbuiIVHCoPYJyOfqSNSGtyI2OYg9twOt3gKIXqBCyDrCnvs0qCT5RJl8cpK4zwI4mKmEe5r5D9+Av/CYAWnKhQP9VGYw3Q4vXRyCpfzqQOO9vWk/z9HyVG65KX6qDUZjicTVvbRzR4PY1gaLz6ZFxnzryIyqX6WXkJ2GE38KSaL/O+hpfFwoKpXBtj5DjxX/D2nWucyak1M2csm8GiK8rOX+9iemM6Euw68CXOdhrrdgGmYI4vD4Mjk1ViAQ/ySZl8Mq2gyfxOjR64FkrS9isQedzhvtMhWGQOMhGW0mWGvoYGF+Mvx+xIfjaBHVqQZdsYWuHl5xdvHL/c+v6KEUM4YhHh+mQ2TxAwZmB82NsQ3RYRItOjD+tR5YtrG/JW5R u+OK65n/ eqCr8oiDYOVko3BzEP0OzJ1d3PcFbKqM9GeEnvi9s4D9fsbD8MgdEYRTEehJB3CtGZZ22MCchTklir7XKU6HOkEMaRreBN8C/iBSiGcgiLJlh9tXKQRuZA6thohgdeyt3TKv+TDDHziUMXjtBhXfA0OkJlnyHbEDz1R/QedBhThyaHJMwIKDdfG3yTOOcpamkMsUqMxC+7Dyi9ibs8EpSXS0di1uQdwhwqJcAS+AabEnKraZ8DqTKjtqe8Y6cZRAPXI+92//5y4be0B7JWAjqDoHkS3QrBlj40kZ1xy8MJA9jz8dSSEudfnQoqAIC1xbQ4WuhQaxKjb/MBIc7cwHRPefWxvfGJRKi+1Vk/Jq3ST704Jwf/jmWhRBDbeBgxpaVyLrbJrC100mzl+EdDxcePRjKMqs95MLYQp2WeZdmpb/bF4IpnKp4440u9YsVL3cwPtL+125Af8R0qYfLBJ5jB2tg1/PQgzksayPQ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000472, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sat, Jul 8, 2023 at 7:58=E2=80=AFPM Sergey Senozhatsky wrote: > > obj_tagged() is not needed at this point, because objects can > only have one tag: OBJ_ALLOCATED_TAG. We needed obj_tagged() > for the zsmalloc LRU implementation, which has now been > removed. Simplify zsmalloc code and revert to the previous > implementation that was in place before the zsmalloc LRU series. > > Signed-off-by: Sergey Senozhatsky > --- > mm/zsmalloc.c | 29 +++++++---------------------- > 1 file changed, 7 insertions(+), 22 deletions(-) > > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index 84beadc088b8..32f5bc4074df 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -795,8 +795,8 @@ static unsigned long handle_to_obj(unsigned long hand= le) > return *(unsigned long *)handle; > } > > -static bool obj_tagged(struct page *page, void *obj, unsigned long *phan= dle, > - int tag) > +static inline bool obj_allocated(struct page *page, void *obj, > + unsigned long *phandle) > { > unsigned long handle; > struct zspage *zspage =3D get_zspage(page); > @@ -807,7 +807,7 @@ static bool obj_tagged(struct page *page, void *obj, = unsigned long *phandle, > } else > handle =3D *(unsigned long *)obj; > > - if (!(handle & tag)) > + if (!(handle & OBJ_ALLOCATED_TAG)) > return false; > > /* Clear all tags before returning the handle */ > @@ -815,11 +815,6 @@ static bool obj_tagged(struct page *page, void *obj,= unsigned long *phandle, > return true; > } > > -static inline bool obj_allocated(struct page *page, void *obj, unsigned = long *phandle) > -{ > - return obj_tagged(page, obj, phandle, OBJ_ALLOCATED_TAG); > -} > - > static void reset_page(struct page *page) > { > __ClearPageMovable(page); > @@ -1551,11 +1546,11 @@ static void zs_object_copy(struct size_class *cla= ss, unsigned long dst, > } > > /* > - * Find object with a certain tag in zspage from index object and > + * Find alloced object in zspage from index object and > * return handle. > */ > -static unsigned long find_tagged_obj(struct size_class *class, > - struct page *page, int *obj_idx, = int tag) > +static unsigned long find_alloced_obj(struct size_class *class, > + struct page *page, int *obj_idx) > { > unsigned int offset; > int index =3D *obj_idx; > @@ -1566,7 +1561,7 @@ static unsigned long find_tagged_obj(struct size_cl= ass *class, > offset +=3D class->size * index; > > while (offset < PAGE_SIZE) { > - if (obj_tagged(page, addr + offset, &handle, tag)) > + if (obj_allocated(page, addr + offset, &handle)) > break; > > offset +=3D class->size; > @@ -1580,16 +1575,6 @@ static unsigned long find_tagged_obj(struct size_c= lass *class, > return handle; > } > > -/* > - * Find alloced object in zspage from index object and > - * return handle. > - */ > -static unsigned long find_alloced_obj(struct size_class *class, > - struct page *page, int *obj_idx) > -{ > - return find_tagged_obj(class, page, obj_idx, OBJ_ALLOCATED_TAG); > -} > - > static void migrate_zspage(struct zs_pool *pool, struct zspage *src_zspa= ge, > struct zspage *dst_zspage) > { > -- > 2.41.0.255.g8b1d071c50-goog > > LGTM! This was only introduced for the (temporary) deferred tag. We've removed it so this should go away too. Acked-by: Nhat Pham