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 4B8C0C46CD2 for ; Tue, 2 Jan 2024 05:50:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BC06F6B0105; Tue, 2 Jan 2024 00:50:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B496D6B010F; Tue, 2 Jan 2024 00:50:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C26F6B010B; Tue, 2 Jan 2024 00:50:32 -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 887AD6B0105 for ; Tue, 2 Jan 2024 00:50:32 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4AB5D40741 for ; Tue, 2 Jan 2024 05:50:32 +0000 (UTC) X-FDA: 81633296304.16.6A32ABF Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) by imf18.hostedemail.com (Postfix) with ESMTP id 505F41C0003 for ; Tue, 2 Jan 2024 05:50:30 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fB7tQAP7; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.41 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704174630; 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=Eo66bPCJZwsfoyBeR7AxEooHw9Y9qb4nCq2SNMlkiOs=; b=4LhAfXqnYziidplyS7OB9GiVTMR0Pfjya5YDw2xxOhh5YQgc1PWDIxYBKhu1OspdXBLZZ2 JYRvoCgjM2TsjuI62SYNQHJ6wxKJBRf7GSFhg7w7t0sQ1VnU0PKwqyfCdimT9IwmOPfv6d KTtwBGZ2mp7J2LOAzeVXssYMHD7yr4M= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fB7tQAP7; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.41 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704174630; a=rsa-sha256; cv=none; b=wYtHzyF8U+senEkIQa/LZlHA0EYTfMNVuErT0QEUGGbXbq73ESy6R7xgC/8iUuc25lU4wb B6vr5ULTperyiCIhe8rnvCctjO3NW7JnihnOhU5J+NjUC33iJxjA7KlA75NPtS5bffbsc+ tpA3pGLqueYQQNOTwG08baq6K/Hcmw8= Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-50e7c6f0487so5716391e87.3 for ; Mon, 01 Jan 2024 21:50:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704174628; x=1704779428; darn=kvack.org; 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=Eo66bPCJZwsfoyBeR7AxEooHw9Y9qb4nCq2SNMlkiOs=; b=fB7tQAP7BeWiLEs6CvYrYpIpe+uEBzUhGOqxBufEUTz5rvuBypw+uyr5AP6g+fgJmP xBv20u1oS1p2vmyXxXhGJuu+98AGMijTclzmRRksBzGL8y9XP9s9iNo9Kfyw4cslpcPP m81P3vq+qc8fjT4QxTAUavpPa6QWAoIrCzXxvUOe+qzYGFS+TtvQHNBRmmudYVCmyEB4 cYOPOD7Dnjno+eyw/JiA5tzTd/vcyvRXyVVUmz+rla3MNSysYKbrAk5YVkDur1Ofjgx+ CZFM2tNl+Gedn/tbD41yDufsUW1tMest3RZIUfbyUyjPje/DdpHFeEjs/cSFUF/kZ0fS oBtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704174628; x=1704779428; 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=Eo66bPCJZwsfoyBeR7AxEooHw9Y9qb4nCq2SNMlkiOs=; b=YC4Umh6u31fysEkpFQW3IR50kJt51Vdlg7RvR6rRCSsyjATUG1ldKwl39D4y8ucokn GfAot5wLpf8mDmEXVNDdzlMlePLqrDpL/MXYUPoOp16D42oobsJmsSah5MDG2AeihdQZ 1/YBF2qNBI1LgRKUAkH11j7ZqdNqU0AWu7B0DBbeJtyDRBzHCb4WvChVPiMgoJlZKbSo Xo/eIc7SWu/uWOu5eKkcSYWaDLohxpR3XsLGIrTamFkia0kfHKjcyGuKewCXJzG4qv5r PRownewiDcq3Q3giWzOFkQOuhhelZAbiO+rKRIkhbVBJsmmfaZtk2KUXpG38OvM5EaEc zMfQ== X-Gm-Message-State: AOJu0YxbAPJyzV3CQ+2Hrk3KMoeZhxELDl9mQblBpeCyhGwetVbk4HSB hZjioDI0sqY/kV9R2QreFi3D7XddQaWus2m/21Z8r+Ge X-Google-Smtp-Source: AGHT+IE/OosRdnUFrDEAr6O2/c83yieAFzIFOgjaKUhGHLr278fzXsmE5hbGHkR9C+Mnq5AEdHZw4OfQCUa6vibKcz0= X-Received: by 2002:a05:6512:3f1f:b0:50e:8762:3c0 with SMTP id y31-20020a0565123f1f00b0050e876203c0mr2807772lfa.48.1704174628348; Mon, 01 Jan 2024 21:50:28 -0800 (PST) MIME-Version: 1.0 References: <20231016071245.2865233-1-zhaoyang.huang@unisoc.com> <20231107172820.GA3745089@cmpxchg.org> <20231229114032.64d5320a97a7c776e10e8acf@linux-foundation.org> In-Reply-To: <20231229114032.64d5320a97a7c776e10e8acf@linux-foundation.org> From: Zhaoyang Huang Date: Tue, 2 Jan 2024 13:50:16 +0800 Message-ID: Subject: Re: [PATCHv6 1/1] mm: optimization on page allocation when CMA enabled To: Andrew Morton Cc: Johannes Weiner , "zhaoyang.huang" , Roman Gushchin , linux-mm@kvack.org, linux-kernel@vger.kernel.org, steve.kang@unisoc.com, Vlastimil Babka , Mel Gorman , Joonsoo Kim Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 505F41C0003 X-Stat-Signature: 3jzfu571efzf9b7cyob9qjah8dn6m9yy X-HE-Tag: 1704174630-79777 X-HE-Meta: U2FsdGVkX1++1x8rVb6AAhKgibxk1eW3f2OFLLlIN1P9VVNV6uD+0A2scS6BJFao8AUYeg5i9W4n8FC1Jr+Ud0c5zJNiLmc1sqyVPUdMJhGdv3TrvI5/VwVpZACc3nMzb9ijaRnq26HyYHSA8HAJs57b5jwV2LCwdsZF1E1xUnZwbkz2YauxM6OilFB2VLFiPIAM7zvJ8lc2iaJx0aN5rAnRn/dfYyQ7XzPiEzxTba9+v3hv/z5V5DgGPtH8WW8SwpXEyY3lFFe+MzEI7P2ftkL2YWP93P/ia+sWoj7kKDUfK38jG7aoNEG0ydBFebkaqZXzFDK089gWQRRTJh/NXIeY8q9J9sd76jly4dLxzeu2mXYJufJTcGPURKkGWigj/Vo6WM2KRf4dKGVmTlrhKGBI9oeDIQwrzVOk5QikddH4d3kaSbDOAtcwIv55OqmFmmbR/PlsOta21mcUX2kzypNbeJXvrgjdHwkHnj0LhF0PbGn76yGVl2spXlOtR2lK0rC+O2tXFSq6vEiBWOXQii9M3/S8uEKnzYP3war9Vd/E4GoPrpa22HSsnzz79waW1DY8Ysalo+Ap75FwZYUCUwWaTDN6yvJTNYS8p3QikKD8iehWuJnMolXH0IM2t3FgaEHwjnDAwCdpKGc5lFZ0d358+6TiZ7wokpj2HlpSSblOj60eUO1hArF3SOV1WbPxGUPBxtgcqQSbmhQDUeMPAFMjno4BQCWuzQK0lR2FwkrVhhpGidN3zdYFh+yP3ifXIFbrf04fSN6PSwJacXkIFey0G4h5S4b3EONrzdbZS2pfP6QB+/m6wAC+C55LBgx6hGpICskHn8m7hh7EAoIKCeYR6GMJRucsiiX7LIlG5ZQOZ1ObvAnLVMhhUsmkk1yH7cauelBe/YskxGW+IP8X8c5m/IQ89SOZjlOOq784HGdGgozwIt5Z0Z4IomsZUjcVLZ7kYYyK8LH50or1lTZ wg5A0VZi cLMisqAOFIz/hvjcij7sUB7TqSZ0McPdPrdK9DuRp5l9Iwqn4q+te/IwiLbONBK2OFSKNYRe1UOsfjGm3MLyFpI/RldkU1NgISmVYjEOijBOCHiniJGFA//MECTTgGkP5MrivbhAs33PEV+fe4c40c+CV37j4EjRJ4Hevi7MBnHU8g6LJTX1jVtW7j0kmppqqVwopHUhCTNg0aQ4/OJ0Hr6n+a9Disqq0YQmJoF67VCQCqUYtknL+3sud/JakzZApcUvGwjRwku9xareJ9bCKL81Wt2Ne0m3ekQJMsot03lohk3VNyQWQ3sLGBGByVtuLXYWCcYg4fxRdpFbbw2XWyLcEqAQlZsjeH6sxYQZx6OuWWllX51YU+76wEA+nlOriXSDSMYSrjt8ZZHmUnnV+0YQ+hozukHKPeGEFphdhsEbLUOrYLqC8SB/UFg== 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 Sat, Dec 30, 2023 at 3:40=E2=80=AFAM Andrew Morton wrote: > > On Wed, 8 Nov 2023 16:55:19 +0800 Zhaoyang Huang wrote: > > > > > +static bool use_cma_first(struct zone *zone, unsigned int order, u= nsigned int alloc_flags) > > > > +{ > > > > + unsigned long watermark; > > > > + bool cma_first =3D false; > > > > + > > > > + watermark =3D wmark_pages(zone, alloc_flags & ALLOC_WMARK_MAS= K); > > > > + /* check if GFP_MOVABLE pass previous zone_watermark_ok via t= he help of CMA */ > > > > + if (zone_watermark_ok(zone, order, watermark, 0, alloc_flags = & (~ALLOC_CMA))) { > > > > + /* > > > > + * Balance movable allocations between regular and CM= A areas by > > > > + * allocating from CMA when over half of the zone's f= ree memory > > > > + * is in the CMA area. > > > > + */ > > ok, thanks for point out. > > Could we simple it like this, which will mis-judge kmalloc within > > ioctl as GFP_USER. I think it is ok as it is rare > > if (current_is_kswapd() || !current->mm) > > gfp_flags =3D GFP_KERNEL; > > else > > gfp_flags =3D GFP_USER; > > free_pages =3D zone_page_state(zone, NR_FREE_PAGES); > > free_pages -=3D zone->lowmem_reserve[gfp_zone(gfp_flags)]; > > free_pages -=3D wmark_pages(zone, alloc_flags & ALLOC_WMARK= _MASK); > > cma_first =3D free_pages > zone_page_state(zone, NR_FREE_PA= GES) / 2); > > > > This went all quiet. Do we feel that "mm: optimization on page > allocation when CMA enabled" should be merged as-is, or dropped in the > expectation that something based on Johannes's suggestion will be > developed? I just establish a v6.6 environment and will provide comparison results with and without the patch >