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 B074BC0218A for ; Tue, 28 Jan 2025 09:42:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2EB77280219; Tue, 28 Jan 2025 04:42:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 29AFA280216; Tue, 28 Jan 2025 04:42:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 13BF0280219; Tue, 28 Jan 2025 04:42:12 -0500 (EST) 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 EBA11280216 for ; Tue, 28 Jan 2025 04:42:11 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 75158140D23 for ; Tue, 28 Jan 2025 09:42:11 +0000 (UTC) X-FDA: 83056369662.12.3226572 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf15.hostedemail.com (Postfix) with ESMTP id 01525A0004 for ; Tue, 28 Jan 2025 09:42:08 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=YV0mgcu5; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=mElZqkOe; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=E5Wy373x; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=lU0UZKiN; spf=pass (imf15.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738057329; 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=73qoOr68BeVckfLf3UU58FBRy6jOf3OFC4ec2nszGCg=; b=OJAQ6rUaeOdMbwTvOImsHCqAZjsFC7W+xHK1hhvsCcnhhOh1OUSyVp9whTYbvpzyPaNtBn BgTH2Iozv5qYdyLkjfh7iA+3aOaxNHLqnx1CtvtQ6GSyp0zoagYnuxGgdJjtiY7oSjmSAA 6tjsnKTZjxIOREuz07arEfEitbniY+8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738057329; a=rsa-sha256; cv=none; b=qFI7HXAIhAAHNAt5LT9siRYytXy3vpuXL0AWgnRg4B7bIS3pRRIXaf0J6xWWtusVxJbrBT vDoYH/vFEd7TiPgytgdCGCcTJBjxjZeIXjyw7l7QarpKT8J6JEg2kTWR1vNzgS8ErOfr6B 9OWIKH78BpTCppID3jVoOLuPL/KPwXk= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=YV0mgcu5; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=mElZqkOe; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=E5Wy373x; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=lU0UZKiN; spf=pass (imf15.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 765951F381; Tue, 28 Jan 2025 09:42:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1738057326; h=from:from:reply-to: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; bh=73qoOr68BeVckfLf3UU58FBRy6jOf3OFC4ec2nszGCg=; b=YV0mgcu5OqRj1pmcb2Fy28BCCHc87Q972G6D9RcjaFhm7OCAc6XRSjQdw0dVGkMlWWreZN Gw79L9vAzxsihMC1EJb7cjXWsLVMtnfQv4o+Qeme++FDuL70mDWQxXfFH/Am/gsklvPHdh Qa26Mma0ndd5Fdz79pkiS8XX/YFuC78= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1738057326; h=from:from:reply-to: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; bh=73qoOr68BeVckfLf3UU58FBRy6jOf3OFC4ec2nszGCg=; b=mElZqkOeEWYcAe1INocToC+wy+28oXItRPUAHK2NiYazofX4dSOO3vIYyinWAMRdD4hysE 6YpqOFPFMDr+4CBQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1738057325; h=from:from:reply-to: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; bh=73qoOr68BeVckfLf3UU58FBRy6jOf3OFC4ec2nszGCg=; b=E5Wy373xJzTdKlZnSBGWVVPoco8D4dY3cL3C5WEAg8QLc9meMCEGTR6z92gRANjQhHQbaP 7y9MUD8b13SOHmIprg2jCmPWcgzoFsZM4Uk8xpIBp+9eSAH5NL925mYSvjlQ/1xAJ3Uauc YULcb01UocbfdsTRu9/KwfNPJUtxYlU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1738057325; h=from:from:reply-to: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; bh=73qoOr68BeVckfLf3UU58FBRy6jOf3OFC4ec2nszGCg=; b=lU0UZKiNHC51HTff+IK7tVPkhrMzizlNmo57+0BMSOYWv9pFzYCebeEc7bw4pAYGADAiq7 HUOvbpEkGWnYqnDw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 5BDBC13625; Tue, 28 Jan 2025 09:42:05 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id lX/wFW2mmGcRDgAAD6G6ig (envelope-from ); Tue, 28 Jan 2025 09:42:05 +0000 Message-ID: Date: Tue, 28 Jan 2025 10:42:04 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v6.12 hotfix] mm/zswap: fix inconsistent charging when zswap_store_page() fails To: Hyeonggon Yoo <42.hyeyoo@gmail.com>, Greg KH Cc: Kanchana P Sridhar , Johannes Weiner , Yosry Ahmed , Nhat Pham , Chengming Zhou , Andrew Morton , linux-mm@kvack.org, stable@vger.kernel.org References: <20250128174938.2638-1-42.hyeyoo@gmail.com> <2025012842-rebuilt-snugly-518f@gregkh> Content-Language: en-US From: Vlastimil Babka In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Action: no action X-Rspamd-Queue-Id: 01525A0004 X-Stat-Signature: app3xcsq9o1jm3cmazgu3stx373fpbzk X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1738057328-616586 X-HE-Meta: U2FsdGVkX1/d8I9aJWSfDxn3dnHkZ8FOiLcmB0FiCP8wAOAz9j8EHFc2eYMSmAwA28wPKbmteKnYp5hFWwTM2KSYVPRO+9BIefm9qcB7XtqGOP3ps5E0RkV2uJltKhiUxHENOEbEF4mPGRJRXHYoy671oJLZYAyhBb1xHGi8ri2ykpVmp54gMKZ1xmmciPOfEoHIZszmbZ20p3+B0SQ5ZjA0ZbdjbPy0qUjUDrWWxLdsi2wcQNsyjSx+ohg1FXtw6sX4gT4DdozLwEJ1fJaEQRan13juK8gAJNfDVlhdOSfrPzxRYPV919WMHP6Sa683GvvKOg8866XkRR14PqjkDJpOXosnYkvw2eQbG03Za6w3nmtTIYWlSBq+X+IlVbQOyAeYgO8Lo5X5e6Eb6esatuQkGKD11fkYu/4ImnzMX+DG+cPMZlzB2g8hSKCmGOfKMESGRE1FSArPGM7dvu7EgUJEYNInvDt1USg/czM4pE01ZZ+KzgxLHM45rxd9at9jhAaz5pl3o+e08ey/FoMyLwblHGN8fFX8Md80WNfve2nNmuDO/G5uAJVePV1BA5+PcYZvYds3XA2N2ErUqNCPtkUPwqBbii0SNEX5D8OJWa/xo5akTmBhK2sblDTWco//4gZyuZKb1Eql5g+AoORSnS3d4JqY5/9n9qUQaajh9hWBxhu5CmbWxr8XfBYP6j91KgU9CtY4TsEynYdlVmNQ4GdU+bkDw88hfEg8Aq0x+uBKCwI78vYolBDLqUmFJuFBUUqmcTBNQiUNd1EfoLQBvip+JrwRm9ZxlMnk7VQoi9vaC6TXF355p0VYJ/216a/bWY+8CZ4D2ajoy1n7csdx2ip0g9Y1GVBwhAzRVLUEVAepn+ZqM8QlWj7IpWzlIxKYfe4iSfECoCNoJEWdE8sfcs0zCByh5NOcbRHuu4O/tBVVkqzQCvO0HFADVtkq7QrqWl4XJkcVCIDl4+Vlj0g h9IUfLJ/ Kvxs15QsCUfXtNEvau2a+Vkzhq/KNTh1kLEgFohFnEwPyey9ly14y5zeIo0Ft/Vj6F0aXuvZxjjZe8qEMSw4hK33YvrRKUkNNr6IBJIgnfrnWdzxUks3qZZebhKNi1hx+O6NNVKwOnWnNduzeeiiPYHYjIx2Ys+xpRguh/3qKBtDrmvqoY5LNi/hbzI+xi7tdmrkxhiHq8jUGT0dskzA7A+jc2yU4sUtx6kDwGlsPqq+1Hxt9OS0K6oY8ilEsVNvt9u2oKlZCImrukUbTgHyyEmq03yysyuEG1G0LPrI/mX5WUzffh8n5VDY59qXBgzb4J0P4syca2SwpcWs8Vsu46QxTCqRobsJweybfokbsKIXLz+b/irkAmjeIC1Q9TQoQUda31ts+ThipzRgieUC8hxtcSQqpABvaaImo61JVjPJK6OFSDNrX2DI5MQFPruBlb3Db+1Gy+d1A1rVSuVCCKeJhlramLV5vg79ksI/1w33yJNY= 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 1/28/25 19:18, Hyeonggon Yoo wrote: > On Tue, Jan 28, 2025 at 6:14 PM Greg KH wrote: >> >> On Wed, Jan 29, 2025 at 02:49:38AM +0900, Hyeonggon Yoo wrote: >> > Commit b7c0ccdfbafd ("mm: zswap: support large folios in zswap_store()") >> > mistakenly skipped charging any zswapped pages when a single call to >> > zswap_store_page() failed, even if some pages in the folio are >> > successfully stored in zswap. >> > >> > Making things worse, these not-charged pages are uncharged in >> > zswap_entry_free(), making zswap charging inconsistent. >> > >> > This inconsistency triggers two warnings when following these steps: >> > # On a machine with 64GiB of RAM and 36GiB of zswap >> > $ stress-ng --bigheap 2 # wait until the OOM-killer kills stress-ng >> > $ sudo reboot >> > >> > Two warnings are: >> > in mm/memcontrol.c:163, function obj_cgroup_release(): >> > WARN_ON_ONCE(nr_bytes & (PAGE_SIZE - 1)); >> > >> > in mm/page_counter.c:60, function page_counter_cancel(): >> > if (WARN_ONCE(new < 0, "page_counter underflow: %ld nr_pages=%lu\n", >> > new, nr_pages)) >> > >> > Charge zswapped pages even if some pages of the folio are not zswapped. >> > After resolving the inconsistency, these warnings disappear. >> > >> > Fixes: b7c0ccdfbafd ("mm: zswap: support large folios in zswap_store()") >> >> This commit is in 6.13, not 6.12, so your subject line is a bit >> confusing :( > > Oh, thanks for catching. Will fix it. > Also, I noticed I incorrectly described the problem. > > Will send v2 (for v6.13!) after adjusting them. I think we use e.g. "v6.13 hotfix" only while the stabilization of 6.13 is ongoing, to indicate the urgency. Now it's too late so it would only confuse stable maintainers, while the patch is not directly aimed at stable, but through mm to mainline and then stable backport as usual. So I think you can just use [PATCH mm-hotfixes] at this point. > Best, > Hyeonggon >