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 B897AC7EE29 for ; Thu, 25 May 2023 20:03:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2CD0F900005; Thu, 25 May 2023 16:03:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 27CDA900002; Thu, 25 May 2023 16:03:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 16D27900005; Thu, 25 May 2023 16:03:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 047E0900002 for ; Thu, 25 May 2023 16:03:54 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 9E7DA40DCC for ; Thu, 25 May 2023 20:03:53 +0000 (UTC) X-FDA: 80829853146.10.70D291F Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf15.hostedemail.com (Postfix) with ESMTP id 18C5BA001A for ; Thu, 25 May 2023 20:03:49 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=pYASl3Q2; dmarc=none; spf=none (imf15.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1685045031; 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=Wpxyri5QnO4o8eJL1iBJ+bBGxFcvRJYujLYE4FKIc/s=; b=HTyLam3cQ+GDn5hZQtnw1WY0Z+hIDUV+7OA4GU+s4lZm/hpahIVYp+0WW62pfJ+Pd4BAkp WgRo1acNEy09bCOmNQkZNtkDC5KZVUoFzRri6oNhZGQE+xHB2PkETY3vhTchew7Rh/lCU8 RDTfwY21GeztAFfnhOuPaoFwd4DiYP4= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=pYASl3Q2; dmarc=none; spf=none (imf15.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1685045031; a=rsa-sha256; cv=none; b=YisSXde8PM8iszD5McE9IqLHp/o3DiR5JQ2TvR9SyIFC2gFLnV33z8TKsEod0euWiKUj3i TZOKUOs7itboUfmsKV8BYMnllf8uU8E5c77GWKqHa/po0TAnryqInnwKu2eN53iKBrXq1C FrBRPN2WjY+TPEBONHPb2BpeDkUkUYs= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=Wpxyri5QnO4o8eJL1iBJ+bBGxFcvRJYujLYE4FKIc/s=; b=pYASl3Q22Il5PUMRGkdedUxu5F ZHbPfqMCSnP7X3ZZQW7YCt/M5m0CXxSopDVUfZ+F48jFfRxVEeeFxcULusJntEv1nuFvwThDW9jHe TMz6V8uolnc/aSTX4YDYeUe0eKX4+IvqSDnnHfkJn4CsE7sFZF3ZYFTNxU4j3am8Mos6uS1EL4tU0 J8CXfIij2xSc9C1O5JpeiNaQVTXjTuqyIpGDEqKlEC0Ug8ua1N3mE6BS3iejyFxQplqz2I01kDC67 qcOTUHGsPpRutvJzj/22Q3xdanbaFkfZI1AlYUMNqrkIKSnU59Rkn8BP+nKHWS7TdetBrnV6MsijK tNXzy+Gg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1q2HBK-00Chf7-0Q; Thu, 25 May 2023 20:03:30 +0000 Date: Thu, 25 May 2023 21:03:29 +0100 From: Matthew Wilcox To: "zhaoyang.huang" Cc: Andrew Morton , Minchan Kim , Joonsoo Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zhaoyang Huang , ke.wang@unisoc.com Subject: Re: [PATCHv4] mm: skip CMA pages when they are not available Message-ID: References: <1684737363-31554-1-git-send-email-zhaoyang.huang@unisoc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1684737363-31554-1-git-send-email-zhaoyang.huang@unisoc.com> X-Rspamd-Queue-Id: 18C5BA001A X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 8zx35sh6wsesxn54akg5xenoojfsfbo3 X-HE-Tag: 1685045029-888005 X-HE-Meta: U2FsdGVkX1+DY4FJCaQ5NMz0w+rBM2iP9uh4Z8ncfWF457cmHGgsG2HeMZwdFwznqx85geje1EDg42+OCOt/AkTcLPmZqfJlcSLQRj4rz4sWyJFH6XqGWwtBfk4ssskEwnWEMlCjYgnOqFPWOwf2dnBz9pqpSQy2VGbT3daml0pKr1ZfSj/NcxofGPaB1etyK3AZ6N0ttBQXuet6Sm90rjGaslCK6O07H12biuVnaCnwIZTNj5qUFB7Ku0I0i8ZSY+dAGP5XnVVKH135KYgi5DxC3qPfpaiJDU90ZFx5hAnvuNcEgxhQoT5fjhW6xIjcvlZ9BzJ4Na0JcFPwJj1U5kyIK7A1n94E2BsRX0CImt8/0roZw3273Ym7h9yHIofU4XNJJ/4kpi+zmV/vuP5k5SDEX1oYt/pifqXiTTLA17cBYTe6mZmb0Cwdk+hAImiRxvyiiNnRf5Ayt5BtZfSh5Rx4DcSoFVYV2Xzn+ic7P9f+6fQvWEuJHVmw7Ne6LCCaAvYGT+i68JLzrku7dsDzi8VEftszqW8hvF0tjErl72XIRFKl6JRpy7izjw6YJ+Xu3UCtxzS2nruzBdUarXN5txcYkL3aY+Z2TPUIb/Xvn43qVUss4Qky7loKvHhv70mJQ9CV6eikP76XUs9CTr4sgbKhuFzUXnf+Dew0XgMoVBnz/77lFYi+uII6I6QXqYi/nE+xGX1sSgF9IgIlCdTfZ55YE5d+0+vabowtg1CDHuxT3JoMJUdgBt1oKZoSjLXzrIo7cC/M6HxAOQRWWzm+sJ5zWdAyN2y3EpTgrRBMtPlrq97sGk9fAQvmGyuZU+iukfN/0/VlDVN4Gj3I1vpr5h3HdgTuvpIGBoXCkR690sQFD24FaSPKJ9v2GIQfvcKc29Xl3NGxnwx08sto8iJNQfcTbu7okgYZ2eb7IMilqFvObS4l9HK7Ghyw7PXSSOZVp2O256Tz/XZfysUg9fR LfhI0XmR tDHMJtw+ijkm75O/TOUKWZqbuB+WZWB75SaZtEgBz6+GQUpP6ZE6i6RX8SMe7+WK8Dpu4WAVogyaJwbm3+nBUJnzRPaSo5vzhrF0Tf9G49mb3IDdTTaloDyd+QbeGObe/AF4vEXaoUNc/XRw= 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 Mon, May 22, 2023 at 02:36:03PM +0800, zhaoyang.huang wrote: > +#ifdef CONFIG_CMA > +/* > + * It is waste of effort to scan and reclaim CMA pages if it is not available > + * for current allocation context > + */ > +static bool skip_cma(struct folio *folio, struct scan_control *sc) > +{ > + if (!current_is_kswapd() && > + gfp_migratetype(sc->gfp_mask) != MIGRATE_MOVABLE && > + get_pageblock_migratetype(&folio->page) == MIGRATE_CMA) > + return true; > + return false; > +} > +#else > +static bool skip_cma(struct folio *folio, struct scan_control *sc) > +{ > + return false; > +} > +#endif > + > /* > * Isolating page from the lruvec to fill in @dst list by nr_to_scan times. > * > @@ -2239,7 +2259,8 @@ static unsigned long isolate_lru_folios(unsigned long nr_to_scan, > nr_pages = folio_nr_pages(folio); > total_scan += nr_pages; > > - if (folio_zonenum(folio) > sc->reclaim_idx) { > + if (folio_zonenum(folio) > sc->reclaim_idx || > + skip_cma(folio, sc)) { > nr_skipped[folio_zonenum(folio)] += nr_pages; > move_to = &folios_skipped; > goto move; I have no idea if what this patch is trying to accomplish is correct, but I no longer object to how it is doing it.