Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp4155114pxm; Tue, 1 Mar 2022 12:27:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJxxEJxR1OecgpDAromp6dx++QmgyXt4ansO+OT1yYGYq0NCzvx9nj6jGVGrybzLdddBj/P1 X-Received: by 2002:a50:8d1a:0:b0:415:a1ce:89a8 with SMTP id s26-20020a508d1a000000b00415a1ce89a8mr1716133eds.146.1646166448858; Tue, 01 Mar 2022 12:27:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646166448; cv=none; d=google.com; s=arc-20160816; b=YIqiGKmRxP2yGIIgXwIUoqC4rD02BPgtSHN00a/3ZgCnAEvn9R5ImHTkZP58a9jUvg PCcJftrleqSrL2s3csuiWj/qhN3ZSiS+JGc4b22rQI8PJuvAzSdSfpU2xbH9oQxU1jOZ NklPQCj1Ia9bNX0jsr4Krna080EF9CtZbuAMjZDn4ujTG8RXaR7ckkSGNo6VApldo9Lj Jl6LknlViSyhqaCpDfN1rviD70IF82udaR7UY7htGK7qfxeNrwMiVtCjKvUEGAOBYqij YPpxVB0nNK6hLKf6yij+laKf6S3xPM0xkqBDY9dlq6UjdYqLphG2MGPBYV7CyfSMnBFg raEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=YB2s57FlqvQg5c7iScBKx8cHamNVzU0GCuN69OG2VD4=; b=hz2OS9KEBFvKOzDWPg0RcwKUJlWWiWyEDuzVwhI8LI13FfwL7wzTTAUHojqmkerY54 KBstctzORNJPZkz1v/5vaA+5Sx1gcOpXKmE4CoMXWyTOj2HrBV07aldFamLIdyEXeJZb 5n+S0BLgH0uRujZovqISdOy2R9fhHOOmf1BM1ORZH2YGOl1UWymHoX4O8RGr6FoFBb4P wUbPdR0KFQseAl/rZsflwxy1G3X4HMOHbXTetZ7du7Vs9vQZrIHLSae057SjnzRX8SuV he65FWdGrqRQoW0zM8F2ro6Yga/vpopPpuuXSHlIl1xYXRQKTp1qKY4HD51ocsMDet1r R3Mg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u6-20020a50c046000000b00415a0f1673asi913764edd.303.2022.03.01.12.27.05; Tue, 01 Mar 2022 12:27:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229920AbiCATw0 (ORCPT + 99 others); Tue, 1 Mar 2022 14:52:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41910 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233800AbiCATwV (ORCPT ); Tue, 1 Mar 2022 14:52:21 -0500 Received: from out199-2.us.a.mail.aliyun.com (out199-2.us.a.mail.aliyun.com [47.90.199.2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1556A5C358 for ; Tue, 1 Mar 2022 11:51:23 -0800 (PST) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R181e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04395;MF=hsiangkao@linux.alibaba.com;NM=1;PH=DS;RN=4;SR=0;TI=SMTPD_---0V6-vyGs_1646164206; Received: from e18g06460.et15sqa.tbsite.net(mailfrom:hsiangkao@linux.alibaba.com fp:SMTPD_---0V6-vyGs_1646164206) by smtp.aliyun-inc.com(127.0.0.1); Wed, 02 Mar 2022 03:50:07 +0800 From: Gao Xiang To: linux-erofs@lists.ozlabs.org, Chao Yu Cc: LKML , Gao Xiang Subject: [PATCH 2/2] erofs: clean up preload_compressed_pages() Date: Wed, 2 Mar 2022 03:49:51 +0800 Message-Id: <20220301194951.106227-2-hsiangkao@linux.alibaba.com> X-Mailer: git-send-email 2.24.4 In-Reply-To: <20220301194951.106227-1-hsiangkao@linux.alibaba.com> References: <20220301194951.106227-1-hsiangkao@linux.alibaba.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Rename preload_compressed_pages() as z_erofs_bind_cache() since we're try to prepare for adapting folios. Also, add a comment for the gfp setting. No logic changes. Signed-off-by: Gao Xiang --- fs/erofs/zdata.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c index 2673fc105861..59aecf42e45c 100644 --- a/fs/erofs/zdata.c +++ b/fs/erofs/zdata.c @@ -219,13 +219,17 @@ struct z_erofs_decompress_frontend { static struct page *z_pagemap_global[Z_EROFS_VMAP_GLOBAL_PAGES]; static DEFINE_MUTEX(z_pagemap_global_lock); -static void preload_compressed_pages(struct z_erofs_decompress_frontend *fe, - struct address_space *mc, - enum z_erofs_cache_alloctype type, - struct page **pagepool) +static void z_erofs_bind_cache(struct z_erofs_decompress_frontend *fe, + enum z_erofs_cache_alloctype type, + struct page **pagepool) { + struct address_space *mc = MNGD_MAPPING(EROFS_I_SB(fe->inode)); struct z_erofs_pcluster *pcl = fe->pcl; bool standalone = true; + /* + * optimistic allocation without direct reclaim since inplace I/O + * can be used if low memory otherwise. + */ gfp_t gfp = (mapping_gfp_mask(mc) & ~__GFP_DIRECT_RECLAIM) | __GFP_NOMEMALLOC | __GFP_NORETRY | __GFP_NOWARN; struct page **pages; @@ -703,17 +707,15 @@ static int z_erofs_do_read_page(struct z_erofs_decompress_frontend *fe, WRITE_ONCE(fe->pcl->compressed_pages[0], fe->map.buf.page); fe->mode = COLLECT_PRIMARY_FOLLOWED_NOINPLACE; } else { - /* preload all compressed pages (can change mode if needed) */ + /* bind cache first when cached decompression is preferred */ if (should_alloc_managed_pages(fe, sbi->opt.cache_strategy, map->m_la)) cache_strategy = TRYALLOC; else cache_strategy = DONTALLOC; - preload_compressed_pages(fe, MNGD_MAPPING(sbi), - cache_strategy, pagepool); + z_erofs_bind_cache(fe, cache_strategy, pagepool); } - hitted: /* * Ensure the current partial page belongs to this submit chain rather -- 2.24.4