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 638ABC77B73 for ; Wed, 19 Apr 2023 06:52:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E21F68E0002; Wed, 19 Apr 2023 02:52:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DD1908E0001; Wed, 19 Apr 2023 02:52:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C73008E0002; Wed, 19 Apr 2023 02:52:51 -0400 (EDT) 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 B34AA8E0001 for ; Wed, 19 Apr 2023 02:52:51 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 8D17D1601AE for ; Wed, 19 Apr 2023 06:52:51 +0000 (UTC) X-FDA: 80697222942.16.E961875 Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) by imf09.hostedemail.com (Postfix) with ESMTP id B156C140011 for ; Wed, 19 Apr 2023 06:52:49 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=UpgJHSVF; spf=pass (imf09.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.208.174 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681887169; 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=NYgO2qxPOOmxEYT1A6CGSiRDNU0p1E1acMevYr1zcBg=; b=MkYXli/LpZ0309mKWptsAyOWhdJi/wVxZ+JIGv9nMM9vAozjgN7ElN8t0JN69/1SKsU9fs S/xPON5sILf9++rQM58P7B4u2GptyLRb2tTj9Y9K5sS8oX1Vj7NQ5IoPJ89Kg+ESI4Wz/e 1Y2OgpODBlEubjqPaSOZx/h0wnLlKy8= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=UpgJHSVF; spf=pass (imf09.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.208.174 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681887169; a=rsa-sha256; cv=none; b=1YMM3949X3SshXZ5W0Rt+LWqHyAgH+HwdYB43V5XhFida38Nu4lQwERSkQnIQ5n+Jr+kHD UOR4JzGwFvh2s0VfdBHybB8POPqvIdFVKytimaT39x6UqG4KYUbhk3VELqRWclY4lTWlvl Y5nyoXOCOUbKST9pQVSztfLUvDWN8zA= Received: by mail-lj1-f174.google.com with SMTP id bz21so9109127ljb.11 for ; Tue, 18 Apr 2023 23:52:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681887168; x=1684479168; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=NYgO2qxPOOmxEYT1A6CGSiRDNU0p1E1acMevYr1zcBg=; b=UpgJHSVFaB78lC7zhT1pQ4EDjU0oRHZaCw1y/byZY/Xd2OmeUX8++qwnQm39W8/gzB Z0LknLeQtyhuOJDHD058YuSvBBRi52v8r7zyFjeRYHSxlUEQUqQvY2n1hJFJhkZG2rek 5Hmq42C76Q7ZWrifgtqf1HDzk6ncUkPrmLSwHiHRR10a9s92C9AaFJK/jCFapMILKQTY mlkeRqOFaV8mHW3LjpGouJaHJNA4iZKzf8RnVw8wXDdROi43dbHrS5nrAQ2mVNAN7Sn4 XSFR1m3TxgkmdbEaWkuy4le5l20gw4wAsvVXjIwZOtdMO9FXDwU6KW4bfcMuReZM5S96 hGXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681887168; x=1684479168; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NYgO2qxPOOmxEYT1A6CGSiRDNU0p1E1acMevYr1zcBg=; b=i6x1SqllreLGWqzXZPg7LMqfrEfS5JeldPA1lwFFgJgC+REkxe0GmgOHGPSvUfs/Vs XVWSTEeVtyePboUjkBjqGURaXzsAhUFqKUTNFNjTz2PvMo192ZVc7rPEqyhKgHizNJil oWHp0BvV1CMY3R/cPe8Be+xj9PHwqw8pBwEHPZ25PzcLQiqzYIpNxoVeklTonIdgYC7l e20PmpeBIkW0KWNtHd75+c7JXhDPnzqjZ/Uu+/T/9e7pz+y8LViUD3K86mvXzBs8+f6V DMUbyb1CO09kNxLVYAYGNxMMRaUKpFayq0sHhLFtK3N+EHfg4sEpdnbcLu4V+IWnZkVI ffOA== X-Gm-Message-State: AAQBX9e9R1XuhyV1JG5NQO0+CgcDvbi86cQAOh2rky/G7nK0wiDy6g4p KaCHHFrBIu9nPxp9M9TPjlb9eiumXkNELI3S6eE= X-Google-Smtp-Source: AKy350Z63Q73FBkxmsGhsu7wFmJXYeWQ/E8UAk5YJJ84OmTZMwSzx6CiDFA8VURtd+xfPoUfpXwX3srnTbddTqFRWbo= X-Received: by 2002:a2e:91c8:0:b0:2a8:bca1:bfa6 with SMTP id u8-20020a2e91c8000000b002a8bca1bfa6mr1763135ljg.24.1681887167607; Tue, 18 Apr 2023 23:52:47 -0700 (PDT) MIME-Version: 1.0 References: <1681882824-17532-1-git-send-email-zhaoyang.huang@unisoc.com> <87pm80tnhu.fsf@yhuang6-desk2.ccr.corp.intel.com> In-Reply-To: <87pm80tnhu.fsf@yhuang6-desk2.ccr.corp.intel.com> From: Zhaoyang Huang Date: Wed, 19 Apr 2023 14:52:25 +0800 Message-ID: Subject: Re: [PATCH] mm: skip CMA pages when they are not available To: "Huang, Ying" Cc: "zhaoyang.huang" , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, ke.wang@unisoc.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: B156C140011 X-Stat-Signature: sedig5qdsb4sehmkq7asbqtkdaufa6ur X-Rspam-User: X-HE-Tag: 1681887169-502860 X-HE-Meta: U2FsdGVkX18Z+ugeTrLmePSf9+6j6u5WQFZl+KVvHi+TCQ94SnxI0UOjb5mdKrbumA34E56v4qW8r6ueSYroKWIDddAx8yDYgGrB2rdEV5Skhscfjn9r6sDY4mcm4q0iu8swQheTcUiOA+JdsrQmXxz99DatGeQQEq+kMmUNtzcJGnC+g6z4JdJEHNY6NCeokpLQahI79kUHeKCy6khqsMWmdXuGU+xJEcBte4bA+qPn0YiFEMvrr1EgxyGe1Oau2UOzAbBQYl/uQ1BlERAhZfz988tgiS7VCaH1EJzhqUcawyu0Z1zbSI1zqKvHSrYsqYw8ZlXk20tgpkOKlVAQzu/6/xPBTxyFrnSBMrB380Dk8HVJZ8V4AvqUbLO+bIGpao9tH08EZOXzJ/IVQ90FtRFB+GWaZ6McRSKxtgpjT1REWVq3uxvoD2AL1h3STjGXwLu6y+SjW+9zVHo9NeHarQ2DDMqdcgXq5VG9grXq3oBjcHllzuyY8c3uhs/yXPkCwL1NWxW9G3U2kjmye83xV7umAPz+D0n1QuHfkXGDyeo7PHQZzLGQgpGJjkH03kGsa7xi0WIdH0dPX6scxmJCe6UYatEJxUl6lLvMQOkuT6JbuFjtoKuSyCIaUZIIMDM7lmcFBXMp94hDBr+2mV7uXr+R56tGA8Uh6p1K8oN9QMTYSv3g2zWmh9b0E/1uGqCIx+MZdnIORNdPUarKTRqDVSBySDt0eJaXE6FcieSPCFP6bxiDwiCrSFhSv8+7/QzaGh6jFC0QW43qoP5CNBWt9oSyN80mV0VD4f3kQmDJ4KsoKcJOE17f5EUupV6sS55X9WPmOax8QPeBxD/xOalaF4G7gGEEqw3EQ5UYdrQUgaFMTd+O6vZWoAc4OOz1eSeP/dX4D+1zlhpp/Ll/+/c6qL3oXd/023rSvF4emPnfSIALni3G+tYZd2oWj4wAKutW6vqK9QMd7hNEVavhJZL fHEmE7X/ BBXVNPNy1lH6mStPAxl6OlwtCVPrJtqdAgE9NVSmJIbSgPibmI/EudqIAd05L85DS0Zcw5coCjEk0Eja32fogN3ZdjDptEGl5TAak/2h/oZLmQ0tnhnGudqwg/q4tAbdWwnrRy68MhBC4ZOV3YJTsvGqAsQhh5LaZnELdkovN8jXhxwS0HXJYD9fBn6QIQSWmAG/Y4Oj1wecGytn92c57cw5wefoJMUC2evXRooxox/IpUPVXsXeelREY1kzRzDuP+nD8w01z5gc2uBzfa28T167/6GbhE90QZhQeru/xu1BuZd46Ob2Qq34y+Jd7lr4TvWg06Hof+5TYZmSrHFH8milCSgAaS6e6K4047XLgzWrT8L2u7EeeIaw9qEtl49CHvQrMzfXIMW/8sCrjMYdp9pcRquqv8gJNKPdIP82INtoAq+L5oIj1jIFowVN1Oqir4/TnNUHeUlR0nZJzzbgQ8/l3KAKXRECCX9qq 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 Wed, Apr 19, 2023 at 2:07=E2=80=AFPM Huang, Ying = wrote: > > "zhaoyang.huang" writes: > > > From: Zhaoyang Huang > > > > It is wasting of effort to reclaim CMA pages if they are not availabe > > for current context during direct reclaim. Skip them when under corresp= onding > > circumstance. > > Do you have any performance number for this change? Sorry, No. This patch arised from bellowing OOM issue which is caused by MIGRATE_CMA occupying almost 100 percent of zones free pages and solved by "168676649 mm,page_alloc,cma: conditionally prefer cma pageblocks for movable allocations". This could be a common scenario for a zone that has a large proportion of CMA reserved page blocks which need to be considered in both allocation and reclaiming perspective. 04166 < 4> [ 36.172486] [03-19 10:05:52.172] ActivityManager: page allocation failure: order:0, mode:0xc00(GFP_NOIO), nodemask=3D(null),cpuset=3Dforeground,mems_allowed=3D0 0419C < 4> [ 36.189447] [03-19 10:05:52.189] DMA32: 0*4kB 447*8kB (C) 217*16kB (C) 124*32kB (C) 136*64kB (C) 70*128kB (C) 22*256kB (C) 3*512kB (C) 0*1024kB 0*2048kB 0*4096kB =3D 35848kB 0419D < 4> [ 36.193125] [03-19 10:05:52.193] Normal: 231*4kB (UMEH) 49*8kB (MEH) 14*16kB (H) 13*32kB (H) 8*64kB (H) 2*128kB (H) 0*256kB 1*512kB (H) 0*1024kB 0*2048kB 0*4096kB =3D 3236kB ...... 041EA < 4> [ 36.234447] [03-19 10:05:52.234] SLUB: Unable to allocate memory on node -1, gfp=3D0xa20(GFP_ATOMIC) 041EB < 4> [ 36.234455] [03-19 10:05:52.234] cache: ext4_io_end, object size: 64, buffer size: 64, default order: 0, min order: 0 041EC < 4> [ 36.234459] [03-19 10:05:52.234] node 0: slabs: 53, objs: 3392, free: 0 > > Best Regards, > Huang, Ying > > > Signed-off-by: Zhaoyang Huang > > --- > > mm/vmscan.c | 11 ++++++++++- > > 1 file changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > index bd6637f..04424d9 100644 > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -2225,10 +2225,16 @@ static unsigned long isolate_lru_folios(unsigne= d long nr_to_scan, > > unsigned long nr_skipped[MAX_NR_ZONES] =3D { 0, }; > > unsigned long skipped =3D 0; > > unsigned long scan, total_scan, nr_pages; > > + bool cma_cap =3D true; > > + struct page *page; > > LIST_HEAD(folios_skipped); > > > > total_scan =3D 0; > > scan =3D 0; > > + if ((IS_ENABLED(CONFIG_CMA)) && !current_is_kswapd() > > + && (gfp_migratetype(sc->gfp_mask) !=3D MIGRATE_MOVABLE)) > > + cma_cap =3D false; > > + > > while (scan < nr_to_scan && !list_empty(src)) { > > struct list_head *move_to =3D src; > > struct folio *folio; > > @@ -2239,7 +2245,10 @@ static unsigned long isolate_lru_folios(unsigned= long nr_to_scan, > > nr_pages =3D folio_nr_pages(folio); > > total_scan +=3D nr_pages; > > > > - if (folio_zonenum(folio) > sc->reclaim_idx) { > > + page =3D &folio->page; > > + > > + if (folio_zonenum(folio) > sc->reclaim_idx || > > + (get_pageblock_migratetype(page) =3D=3D MIGRATE_C= MA && !cma_cap)) { > > nr_skipped[folio_zonenum(folio)] +=3D nr_pages; > > move_to =3D &folios_skipped; > > goto move;