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 82084C2BD09 for ; Thu, 27 Jun 2024 20:33:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C9D4D6B00A1; Thu, 27 Jun 2024 16:33:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C4CD16B00A2; Thu, 27 Jun 2024 16:33:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B3BC56B00A4; Thu, 27 Jun 2024 16:33:34 -0400 (EDT) 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 9431A6B00A1 for ; Thu, 27 Jun 2024 16:33:34 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 03DC71A105E for ; Thu, 27 Jun 2024 20:33:33 +0000 (UTC) X-FDA: 82277819148.25.9A3F176 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf11.hostedemail.com (Postfix) with ESMTP id 3AE2840003 for ; Thu, 27 Jun 2024 20:33:32 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=dCpmUrBv; spf=pass (imf11.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719520399; 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=gcv/PKscX56LDc8jaqUl0z0nVjjVvs2aB8bm3jaEXhc=; b=Idntc9D4tVId1dGuRK1uOWcx413Y19aKm8Vokf6Dld5PegdEpng73XW5qrhOxES72xuTX/ UI2siaa8VYhT3xVQOZcAboWy2Wc79WREjd6JsAgyDhNdAXYu+M9Imrz0v2EjCS9+gPXHU4 fjIS0IrowwIeE9wUhN7M9qD4FfVPRSY= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=dCpmUrBv; spf=pass (imf11.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719520399; a=rsa-sha256; cv=none; b=SOM1APKRKYKzInkyJKVdBOTmvIYTHfoFpJKLqiomOyyQARxidkylL7dAXKGbFK9y7L7Kj1 G0AFIJIj+oeTAcRhBx3qJ2GBTx3Hxnx0OvoiAYvFVh2nd0cVylND8FKvgCk1+xq5dL3hts no54lLgqrnPLMQ5AXFGPOyOM4PGmDNs= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 55C8A62008; Thu, 27 Jun 2024 20:33:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D8C9DC2BD10; Thu, 27 Jun 2024 20:33:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1719520411; bh=DzCemOMDrWk1p2PXFfLQ5rRwDU+Hjn16YC9hoJNhjwQ=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=dCpmUrBvfeAw4x0uhl4yAPoiUEkkv1tpxXEDxwc2UQt2nQuDnWnXQCftnD04pu8NG lfqRH7HRVqxop8RdonCJfzYzLE2akqY/OkLtzcFf9zSoCqZ8/AOSdzI0kkKuUgMvbu Dt3bLmc1DlcKmXP7Kn6ZHZ7TT1rYDS1B+2qv4Guw= Date: Thu, 27 Jun 2024 13:33:30 -0700 From: Andrew Morton To: Chengming Zhou Cc: minchan@kernel.org, senozhatsky@chromium.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] mm/zsmalloc: fix class per-fullness zspage counts Message-Id: <20240627133330.7f8a82078725228585dbf2d3@linux-foundation.org> In-Reply-To: <20240627075959.611783-1-chengming.zhou@linux.dev> References: <20240627075959.611783-1-chengming.zhou@linux.dev> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Stat-Signature: 1cnbm671oy6dhpqg7bzjkfwpror3a6tk X-Rspam-User: X-Rspamd-Queue-Id: 3AE2840003 X-Rspamd-Server: rspam02 X-HE-Tag: 1719520412-310344 X-HE-Meta: U2FsdGVkX18ccytugHqCZQg17b9UBDIF3Ki96ehm/RFkOE67s+0yciboEMKBDrWGPYa7GyA2XDMDlcVN0UKO91avGyIDDquPlMCYOke7T6FqwXPAFxHYR+VxCatW+VUDDtyYF0dofNnRCxK0Yv/Qm2P3ts40dYMSQl5nuboc+qn8zL61zY4yrcZW2GWnWK4UYSgONGyMdoph6w0INTqHefIRdZIXpnw1TMfy6ESklnziiufmIzfYpDPvhjYQrm48jGroWsYpairahDLgkEzDzJyeHgkk0N6shHSb7jFDWbd4oQOz/G2c7gwvli3BQHko0y5HUuRUkunLuUWh1awbv6fiPIDflDqRO8Z0KJhEMiaq8i2BgdaKNRxeazXBeauJ0vF3lqYrVnuMsMLNGYw3fJ957PZazLgd9ca69FwM+NHHAJQlvgk/VT5TIj2hGG1+I5vv2DgbFojMaJNt0kmOKi9FFBDos5za0SV6TEDzi+TMCMJQxy8xzyRtGz6KfR7Z3DBTjO64hC42eevVoPljX03IGmCrnifscaDbgGbmDehaJVeMFCshLFHW2qC8s7KgDdly2QsLx6tawaQrkJp2rQNckJQB0kDK91NsBGIhOYyKl99IQ8pGZuPNqVdmdkpjCJPS/owGGrcuuZ0MKF0CHY7GfbbYftNQj8NTBXrb1MnWkeUWrjrhzGAzHgAih8E6wbuDMysqguET+XncirD+BHEpl+DUaToUqR/lfpMXpVBFp8k56PhzCKhIqSoHh8B0aeTcCYREN3lwmmGWgmYtVJ5UUro3s4Adtz1QtYT96gLVGYm51Z0M/Ie9NiqRA+Botx2qM1utw62tksDFybWJb7G8MpAJ7l0kPvusFNl9apLl5UBgFY+B0oK6XN9zWHm6Yx8Tp1ZM7rSPn6Ui1ZdVcpW8nkvGd9cKPz7TGO6fRY0hqYGe70njj4rmceHSHiMMvbyVBRe3bTGX8xiDiHQ TCsb23se GcwF3oTkGseZ19xzqmq1lSuIPo25W40/kvXbETdE6sn6bz7uRH0T4NaFPvflgu1jXBIU0Mfl4vUihAAivHMJsxzy28eAzdGK9xgigVVwr1aKPh4um1Dk4vQi3s3FH8JPSLGZZSwyXJm1owyerb9vowK9D6S9qDkVaXzc2BdbWDkRINhdj/QNIinM1FZWN/0bN0T5u/ZVcyY3TWXXdJVyITIg87hqboQRE2CjBQ0PQaU9wzP1W7MrfPcrr3w== 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: List-Subscribe: List-Unsubscribe: On Thu, 27 Jun 2024 15:59:58 +0800 Chengming Zhou wrote: > We always use insert_zspage() and remove_zspage() to update zspage's > fullness location, which will account correctly. > > But this special async free path use "splice" instead of remove_zspage(), > so the per-fullness zspage count for ZS_INUSE_RATIO_0 won't decrease. > > Fix it by decreasing when iterate over the zspage free list. > > ... > > Signed-off-by: Chengming Zhou > +++ b/mm/zsmalloc.c > @@ -1883,6 +1883,7 @@ static void async_free_zspage(struct work_struct *work) > > class = zspage_class(pool, zspage); > spin_lock(&class->lock); > + class_stat_dec(class, ZS_INUSE_RATIO_0, 1); > __free_zspage(pool, class, zspage); > spin_unlock(&class->lock); > } What are the runtime effects of this bug? Should we backport the fix into earlier kernels? And are we able to identify the appropriate Fixes: target? Thanks.