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 BF98DEB64D7 for ; Mon, 26 Jun 2023 10:58:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 537F88D0002; Mon, 26 Jun 2023 06:58:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4E7938D0001; Mon, 26 Jun 2023 06:58:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3AF388D0002; Mon, 26 Jun 2023 06:58:01 -0400 (EDT) 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 297278D0001 for ; Mon, 26 Jun 2023 06:58:01 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id AAA501406B9 for ; Mon, 26 Jun 2023 10:58:00 +0000 (UTC) X-FDA: 80944599120.18.1D0D73C Received: from mx.sberdevices.ru (mx.sberdevices.ru [45.89.227.171]) by imf14.hostedemail.com (Postfix) with ESMTP id DCBD3100016 for ; Mon, 26 Jun 2023 10:57:57 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=sberdevices.ru header.s=mail header.b=iMv7yrHt; spf=pass (imf14.hostedemail.com: domain of AVRomanov@sberdevices.ru designates 45.89.227.171 as permitted sender) smtp.mailfrom=AVRomanov@sberdevices.ru; dmarc=pass (policy=quarantine) header.from=sberdevices.ru ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687777078; 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=tF8tjj7sdIyMXAlJ3nUVa6bWrMEF1krZs+eU62ZwWlM=; b=LiJpl0Eh4PCZFI5CNXG2snva4b2P6NbYmV3cn88RqQxIqMeRcbhuejn73EfSJq/ZO8Osn7 kNXs02UhGHxqfK5eXZ6Sf9v3Tly6fcoCkS+3bpzFzhGMVgqXrdsiunB+GbMjPOBR9V5wVe KrXViq+MCS+S7UEaCSndyDCr+cIAfeg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687777078; a=rsa-sha256; cv=none; b=QEO+Vc66mB0yMi+c22NiJKu9PtWFrfZ1a1bImiBOQ0LH0pt59yx8M06JX2/ZrAnimjBQc1 atj037Fq8tkrMuaXHmfJoBmaUkZgVoEwbucfEUFK7Z+nGo0AUiiy9U4usFn9eU7xLg00/k g49qvHqbWN9IaJBM9JB0/P/B+1UkqZ0= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=sberdevices.ru header.s=mail header.b=iMv7yrHt; spf=pass (imf14.hostedemail.com: domain of AVRomanov@sberdevices.ru designates 45.89.227.171 as permitted sender) smtp.mailfrom=AVRomanov@sberdevices.ru; dmarc=pass (policy=quarantine) header.from=sberdevices.ru Received: from s-lin-edge02.sberdevices.ru (localhost [127.0.0.1]) by mx.sberdevices.ru (Postfix) with ESMTP id 086765FD4C; Mon, 26 Jun 2023 13:57:56 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1687777076; bh=tF8tjj7sdIyMXAlJ3nUVa6bWrMEF1krZs+eU62ZwWlM=; h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version; b=iMv7yrHtdWJS2xtGZYFvF6VNySfmW6k3eI2quO4DVtsFxwrmkoAkf9g/A70mczdDt OAidEaicyr8PHxs89vEp4XIrCOAWlbPM/6nVAZXt6pgiIbYLzGxeShhpYDNITrVqBp uuJrpxOc/1cmxnJQnL2Ql37sIVyXmmRKQi76+pMXeV9LSb1F93tnFRgSS1Efz7Uhxi FJSUiovHDMNVarM3pJc9RRdBgqSd5jbKJJO9qYKaMv+ZUdy10yYxYEFqekRrXlB+g1 irkS0/UXUqL6mNIRaKXlwhndqsJAChWVTWfThBs8GPBwQOyX2vimPcqMujcgAzWZmb tCxGGrmFEpmnQ== Received: from p-i-exch-sc-m01.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) by mx.sberdevices.ru (Postfix) with ESMTP; Mon, 26 Jun 2023 13:57:56 +0300 (MSK) From: Alexey Romanov To: Sergey Senozhatsky CC: Andrew Morton , Minchan Kim , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCHv2 1/3] zsmalloc: do not scan for allocated objects in empty zspage Thread-Topic: [PATCHv2 1/3] zsmalloc: do not scan for allocated objects in empty zspage Thread-Index: AQHZpl0UZXCORNUGAkShFrCp/4fRxa+cuxQA Date: Mon, 26 Jun 2023 10:57:15 +0000 Message-ID: <20230626105750.x7dxn7z4l6t4sicb@cab-wsm-0029881> References: <20230624053120.643409-1-senozhatsky@chromium.org> <20230624053120.643409-2-senozhatsky@chromium.org> In-Reply-To: <20230624053120.643409-2-senozhatsky@chromium.org> Accept-Language: ru-RU, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.18.93] Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-KSMG-Rule-ID: 4 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiPhishing: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 1.1.2.30, bases: 2023/06/26 05:54:00 #21579740 X-KSMG-AntiVirus-Status: Clean, skipped X-Rspamd-Queue-Id: DCBD3100016 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 3s9p39uk3khhdidjpr936rtpeep6u91o X-HE-Tag: 1687777077-950794 X-HE-Meta: U2FsdGVkX19sEJ/Jz0EU2mATtZJ0JGix3RV/X1M0yZpqT0Emd6SC2xHzYzmt33VLBAJW77iRMZ7JB88n8wVqyxn08eqbB1LHhLLWacDhVC80LbCRjo+MGBTj95aUIwIhFw+fNvBSd+HwbxnAsX2PC/ZZMUQt84kHhmqzK/yUeWKJKgfB9umXjcbb5UP2S2sC0vPA07vWdjAEMxSz6ir6tB44wKBM/aqZCGfLqWDoZNO4L8/ROzK2W4uK8uZoTm+isZAvg5blj2rIVlWpSRxRMg0t+vx/mYWT2cOfNh5RvJwE4oEDUq6CK0Zq6PSjEY7tQWCjkpZsSjvUv1MiSTJrzGZKKByPynoCPYLN6AtG0Pvu0XigccWXZBhKARLbHnQOZsd4+hjNEZdNmHlN2q9SDDbUUEgVisBF+y8dbeJbRP/i0YSp7n7lIS4evjQTJH7YGAQaPPII98AWs2L8Ho2MPETn2YSvAx3iyoW2ynMRoLRrlF0KI4jFuHIhnd4GxbKnfvY/l2S9hbuN+1VGNTrkIyvpx7BPW1EmWPyH7Si/8HZDMAHtrkk3HKLH+ymm/tPJGtMvAioIikzwVILTwIDzNRzKNFQHj2XHRhx4W3agPFeXiscUTgJ7xEdtyuctQHVrpe8x6u+BEVU/Qn7QoGJD08YMU5OYl376R4yOPpXpkVGv76VaUChm2o30k+tH7O9Yv7HRQECqMzsD4myLQ06vFe3WtAeAm+styUJGq2b1rG1xO/EgzYMje3jowJPJGFZ9jrjgbZUaS725Fk+iUn5gjXwQ5xxR0RoelyhlcMCwW0eDuJEXbIc3izVoUxpIff/lehbL9TmQBOU47nB38oaQ8drFjnCDqAQIouF01RrQeiobQTZek/Jcz8IkFmVzqq9s8MeorlvFXr9uRMxM5HV4zrs6pSjZqwq7X+AluTv/trnacELOylO53R9Ya5hQylFJJs9aKWE3UiOB7u8JoVX f6hWBT+4 pgldrOdEEgJw+IGGUnQevpDMSuTnU1IvMyX4syAKxq0lZM/J+KZZXlM9OJ/lGg/KtyRjblBCBPOMpbz1A9PwhwsyzfxRVRRF/7EROauO0cmTZawDCCWZlGk1zMniWWgVAd11igI9hUJQcCENTfXwk0UsaLrEQIDj70+riTdHEwcKVN9FZBHXcBAsveFmlKh5hxc48JoePelZFrypqWoNqI8Q8/N//WcVuI+Qeff5//NNMbFwlkzdt23r6NLoCGsVmbI3NSp7jaV3kVLzfbb1bvtHLbwuK/qdkjsL9+s482bCqSgboN/nSmeWUgEF2S/MYdE+7Taerub57KOnMoIsTbMhdAx+qiQCIez4RDikB4YtVYtoXsgAdAruUNifSGhael/OdBq8YeFfnMEUmkUr/QcJsDGITErEuGhIVgSR0LkVIISQIx6O5pMsAZOsKvitw3GGbyrrnPmjUnN0= 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: Hi, On Sat, Jun 24, 2023 at 02:12:14PM +0900, Sergey Senozhatsky wrote: > zspage migration can terminate as soon as it moves the last > allocated object from the source zspage. Add a simple helper > zspage_empty() that tests zspage ->inuse on each migration > iteration. >=20 > Suggested-by: Alexey Romanov > Signed-off-by: Sergey Senozhatsky > --- > mm/zsmalloc.c | 9 +++++++++ > 1 file changed, 9 insertions(+) >=20 > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index 3f057970504e..5d60eaedc3b7 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -1147,6 +1147,11 @@ static bool zspage_full(struct size_class *class, = struct zspage *zspage) > return get_zspage_inuse(zspage) =3D=3D class->objs_per_zspage; > } > =20 > +static bool zspage_empty(struct zspage *zspage) > +{ > + return get_zspage_inuse(zspage) =3D=3D 0; > +} > + > /** > * zs_lookup_class_index() - Returns index of the zsmalloc &size_class > * that hold objects of the provided size. > @@ -1625,6 +1630,10 @@ static void migrate_zspage(struct zs_pool *pool, s= truct size_class *class, > obj_idx++; > record_obj(handle, free_obj); > obj_free(class->size, used_obj); > + > + /* Stop if there are no more objects to migrate */ > + if (zspage_empty(get_zspage(s_page))) > + break; > } > =20 > /* Remember last position in this iteration */ > --=20 > 2.41.0.162.gfafddb0af9-goog >=20 not sure if I can keep this tag but, Reviewed-by: Alexey Romanov --=20 Thank you, Alexey=