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 89CF9EB64DC for ; Mon, 10 Jul 2023 10:52:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 041996B007E; Mon, 10 Jul 2023 06:52:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F35C16B0080; Mon, 10 Jul 2023 06:52:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E22156B0081; Mon, 10 Jul 2023 06:52:21 -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 D25856B007E for ; Mon, 10 Jul 2023 06:52:21 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id A95DEAFE28 for ; Mon, 10 Jul 2023 10:52:21 +0000 (UTC) X-FDA: 80995388082.24.7B0C965 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf24.hostedemail.com (Postfix) with ESMTP id D100D180021 for ; Mon, 10 Jul 2023 10:52:19 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b="dI2+m/Ei"; dmarc=pass (policy=quarantine) header.from=suse.com; spf=none (imf24.hostedemail.com: domain of mhocko@suse.com has no SPF policy when checking 195.135.220.29) smtp.mailfrom=mhocko@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688986340; 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=BgqfV8AxMrOa+ZUfGi45FJ2mmGbR/B2qt4snvYgTU68=; b=bQmC5rkhIftTVnFk+lU6XGX+S1wgoxy6Gdklw+vjQmpdvZVWuQDLawTVmiA4GtxHNj2RAg +G3TmZ3xCr6VPXHNPderHuXfmbIMw4kbGDW7TJbSql92KtlMyJnKMNtFSM1nmaRXk4gL6o 7pJ9Xe2fdJSwlSjBfpR0MclHj8QwM9g= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b="dI2+m/Ei"; dmarc=pass (policy=quarantine) header.from=suse.com; spf=none (imf24.hostedemail.com: domain of mhocko@suse.com has no SPF policy when checking 195.135.220.29) smtp.mailfrom=mhocko@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688986340; a=rsa-sha256; cv=none; b=IV2uQHH09N0TJld/FPqX/oWuSvj9Ont1JCNld1NzczyfCMO4e6O+n/o+t9Zk1TU4kUpSPI zf3RQdQWQ2a1jJHgtsiOViudJ194Oc1l/bGtJn+cRjRNACVXyDF8nSLDuSwMrBdhoXix5O /8rxdDa3TPIK1U2ve7QSCc8bzWZUxB4= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 734531FEBB; Mon, 10 Jul 2023 10:52:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1688986338; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=BgqfV8AxMrOa+ZUfGi45FJ2mmGbR/B2qt4snvYgTU68=; b=dI2+m/Eif/cqR9elAlggzi63z+6kpGiYIJnpcn8uGHobiw5kkab5A/h/gqdIzfMZqxwDTX ySzUG2zcLd7x/DUn2Mt/ma3GKrjr1KMKGx38ZYK+nbHkFw6T1ER2tg6KO8i4Ay+A1H8lgQ DsWXeeNDO18QNWYrw7Yi5vMpRZzIl6o= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 51ABD1361C; Mon, 10 Jul 2023 10:52:18 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id YsyLEeLiq2RYUAAAMHmgww (envelope-from ); Mon, 10 Jul 2023 10:52:18 +0000 Date: Mon, 10 Jul 2023 12:52:17 +0200 From: Michal Hocko To: Zhongkun He Cc: minchan@kernel.org, senozhatsky@chromium.org, david@redhat.com, yosryahmed@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 2/2] zram: charge the compressed RAM to the page's memcgroup Message-ID: References: <20230707044707.1169285-1-hezhongkun.hzk@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230707044707.1169285-1-hezhongkun.hzk@bytedance.com> X-Rspamd-Queue-Id: D100D180021 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: x4ywud441i5fqw8u9q9tpncau65hyz14 X-HE-Tag: 1688986339-145829 X-HE-Meta: U2FsdGVkX1/syyWVPyYFe1q73SskHfVzUf1wpYmeLzEK3no2NOSNzRR24c3GU1PL7RcnHYoB9GFVXZz953PQvO1vIYjrTQkwG5yPtVtMBvaT3mgp5Y68JtcXmOFtRUw4sZ2eGEFKFw5lzyUrnFMHX3LtaNpGSeRC98Y2+bvMeL8iCVLJJjltyKh2amLMkeBEeXnxr5ORvL0hlxZpp7TwsiladwccPqdjmJ2WqFLvcOd1HTMbeeKFt4f8Kx4E5gX8904iNf+WbTf5BhvTdWxBvCuBTXO7+Efx5ovNRWgcxgQBTw2DeWWdGuQnfL7enXIRtG/SeGL7NS2DoFPXHHwKnTe/Wl+IRFTZ4WmsTLZ/jJvs95U0qjLRRwMmpSoRtfstx1c57V+O7BWSrWcwRjFylGjQoerdXeHxCz3l8XIIi5Yb+f3kfrRe9R8R/vnBifkUsotuuTTG+O5W3TLM/KioNlcDBkLG/iu5Stlu5ZbdtKQWWpS9NYC7Q2WETMAWO56ThiWcvxDXzRcIpUCQLalQNVUJY/bZcEgWA2/3odPPIwEuqZ/dD7RU+T352nSd9y/r+I5FEMGrmfX+PrgBB5S/ltnoT6TZSkhHLI0GvWtHH+3TCamdDAKHVVMyDZ42lsxQQZ34h0+W1bA8T1TAffsMQevgXrYu1twH4Rhkoae76nwYQrfkLVEW/79fR2p4T6EmluJfwxTyA5dkFLLiUuHSsJOdlz1oyaiaPFPwFmm4ejWuGVG4ig91WSV0EEhsXE3spZZWyDkNyXp/vItuJEm4VwnGmOkAJZUl3O3o373l9VTSONKKS74dfG8BuyY9srJYup04h2ThEeUF/PBLRkKk8PsWDoOdRu5M6cv2aDUxEmhXnm9CrwE3XtKef4VbrU3fgGJEbo6g6OouZ9atos+GBE+KwAcu+uEinSToBh/Nuhyc3fJlTBA3BEjPuPjo/O36CfkRNkohEZ5C+Eu1IRj e6ied4Z8 nGy7rtbrg1hdtBgy5zGBD3LASwaz9txlpezmCZiO0uol36kzqx0/yQzH0fihdSR2HN060TCYGoBPVR+saoh6SNkdsM9sqVUus9Mlp7l1DMtAvFz8osNGwVH1yFk2t3n9L2jVE 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: On Fri 07-07-23 12:47:07, Zhongkun He wrote: [...] > @@ -1692,11 +1725,21 @@ static int zram_recompress(struct zram *zram, u32 index, struct page *page, > > zs_unmap_object(zram->mem_pool, handle_new); > > + /* > + * Recompress will reclaim some memory, so we set the reclaim > + * flag in order to charge comp_len_new successfully. > + */ > + noreclaim_flag = memalloc_noreclaim_save(); > + objcg = zram_get_obj_cgroup(zram, index); > + obj_cgroup_get(objcg); > zram_free_page(zram, index); > + obj_cgroup_charge_zram(objcg, GFP_KERNEL, comp_len_new); AFAICS your obj_cgroup_charge_zram doesn't have gfp argument. Anyway, memalloc_noreclaim_save is an abuse IMHO (the primary purpose of the flag is to prevent recursion into the memory reclaim). Do you really can not perform any memory recalim to trigger to free up some memory if the memcg is at the hard limit boundary? > + zram_set_obj_cgroup(zram, index, objcg); > zram_set_handle(zram, index, handle_new); > zram_set_obj_size(zram, index, comp_len_new); > zram_set_priority(zram, index, prio); > > + memalloc_noreclaim_restore(noreclaim_flag); > atomic64_add(comp_len_new, &zram->stats.compr_data_size); > atomic64_inc(&zram->stats.pages_stored); > -- Michal Hocko SUSE Labs