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 E2E45C47074 for ; Fri, 29 Dec 2023 19:40:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1BA836B012A; Fri, 29 Dec 2023 14:40:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 16B546B012B; Fri, 29 Dec 2023 14:40:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 05A896B012C; Fri, 29 Dec 2023 14:40:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E2EE86B012A for ; Fri, 29 Dec 2023 14:40:43 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id A1C4FA1B86 for ; Fri, 29 Dec 2023 19:40:43 +0000 (UTC) X-FDA: 81620873166.02.D3C5646 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf21.hostedemail.com (Postfix) with ESMTP id EECA11C0016 for ; Fri, 29 Dec 2023 19:40:39 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=MwpB82ti; spf=pass (imf21.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703878840; 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=Ye06p4UxBl8PjPu69p+rDO8AYmqmrTgu5V2LxBbl9iU=; b=X9wEpCNbpwsmYv8XA8MoVOaaWCZJtUdQlX1CYkSogjb54LECzda9I4GMzrP0aI6E5yQSLo 2OP5prcQC4OVVAvsEe0u6HeO2TM3mZMCwgEd7SjpsBjYvl8zgJrhAXbTStVEbwNnJqEm7E T2EpIeIg1C4hluEzuxw+6DuH6mvweNY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703878840; a=rsa-sha256; cv=none; b=n1yjjJEO1YsWtp29D31Leph1kxmuZa4SwvCDF6q3/EFngy1t6nFMSjXxQl00/qW8QeovoC J9wqZio+stQ/8F0H//y6XXuC1k4+v88OaXIsRQeLTdQDrvVo65Yh3MGc+tf4IX5ovP4wO4 LI8PSe/2COCBawn+7ofyR9MeyHG3W/U= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=MwpB82ti; spf=pass (imf21.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 9A33BCE18E4; Fri, 29 Dec 2023 19:40:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 87F4DC433C7; Fri, 29 Dec 2023 19:40:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1703878833; bh=x/31GYYADrrkOz+dAeFPF0HkXxzTd9bKJExqTsjAEHo=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=MwpB82ti8zhaqHuRlk9IXcgG6+UYDLqYoLPvrG7Yp8U947QVhHnL308cg/EdxkAiP A4BffvNWehyXzGATmYvetCRiTXNzBkm942/VdQMAITIfdC2XFnAObx2COVPUU5hu5F 0DXIQ6vnHQYKW3PgK09hO80OnTy1nyKD1ARITCHw= Date: Fri, 29 Dec 2023 11:40:32 -0800 From: Andrew Morton To: Zhaoyang Huang 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 Subject: Re: [PATCHv6 1/1] mm: optimization on page allocation when CMA enabled Message-Id: <20231229114032.64d5320a97a7c776e10e8acf@linux-foundation.org> In-Reply-To: References: <20231016071245.2865233-1-zhaoyang.huang@unisoc.com> <20231107172820.GA3745089@cmpxchg.org> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: EECA11C0016 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: bzhj64nfqayo5z3cfrdd35nk1swn48k8 X-HE-Tag: 1703878839-108597 X-HE-Meta: U2FsdGVkX18Cikr/Nft/v0/cvyC1MavQx/t6u8OCrv7KJ3hkUjQFLP6ahnAi1GPZO1IKAEJbhxK4dyaHHUoV0uq4CcWF2/yTEd4FMVvFv6zwel2JRqEgVgUl4LUP+b3ZxevxiIzasXNlmW6YmYfeVwWpWo4dTef4dIehX00ne1w6/4xEODu1uVUINWVBH687qTMPI0SY3xD7hNBYqgD4SW0nm/ErxG6tR5FShovnBoWzCmB6K9Jo2ijI2H5zp/qsuG6lDptdGNRzUDnBg2UQe1lALOaGc8SsMx3Od4maMOVbHP0X6iFhgzkGp6mKGclk/zM5twYlvGCg0p4rMFT/oCGTFXFGdHnatnHFXHagqz8J9OhaSLdjwblxdTLaKVhgdXcq0TeIarbwiH44E3wF3Pm4UpNbPKQm2QjhC7f6534zEeExFnxfxk9MrlIuvbWKSgB4LKtgCbAn7Mu2djvKqH00K4fo5j1O2ghUBe/1lV9sIVE5fQZtnK1Bt+XT+TOEVlndKPTMBPqEdRXCxHvLjLzpFEF0AFn1BFd0hjlTQOdgs0N8Mz/a/F9Xgo4NdjHVbrRMa0D3yF9XKMEg5/GjOuRfejnI/vcWZGcvixd/3OUupnkNdprNl4SpVR2JteAMwQfM6dI1WgecVtU2/ydYr9I3zimJynnjn/MHNRDjG36BBCEBTlzbxweLPfGotVHrvjzAhZ/5xQhnfunVebclT3E1td2nQ3U+Q7vThkhbAuBCtpPY0h4YcSTper5dG/nzPm6EGh1R9PyZTGox6U6VReBGd2JjCV7R7nNByo5W8Tu14RrDrmlmLmpVKvXRyb85ACZ15R0eNHftpPtb30hoMAGZ4MsJBva/QFjSBMV5rAwAEnJvjUParqxuRZJAZXGEZqWfpD11WZMuq3NRWe9F/YwP5IS0RTYcZ316keCoTP7UBMCKVfGIkRiJLJmWgzLz40hlNO7+DpVIZ5Q4UlD Xleg23Tz k5+0NxENPXJ4yjJ2sXTPTdA/k5u0dCVpBv4ljRY3P8Y0uhtzObqP/G4lHUrEtauSUg+OtYb6XzJPigvyHBbQd9ZeBgYA+wOS9oao+TGXXHcMeprU+GrWMsf36vvPphnRpLTO5a1uBFwVJuFyI4SLmmSgfbGTpCbE2JJA7R+QzKF6zhe2azp1zkTSprsYQpOPdNHMweLBJkebhZJpXNOInAgEFMt4bcKEZrJUZgrlI2u2bSqyDX5WP5MPmdg== 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 Wed, 8 Nov 2023 16:55:19 +0800 Zhaoyang Huang wrote: > > > +static bool use_cma_first(struct zone *zone, unsigned int order, unsigned int alloc_flags) > > > +{ > > > + unsigned long watermark; > > > + bool cma_first = false; > > > + > > > + watermark = wmark_pages(zone, alloc_flags & ALLOC_WMARK_MASK); > > > + /* check if GFP_MOVABLE pass previous zone_watermark_ok via the help of CMA */ > > > + if (zone_watermark_ok(zone, order, watermark, 0, alloc_flags & (~ALLOC_CMA))) { > > > + /* > > > + * Balance movable allocations between regular and CMA areas by > > > + * allocating from CMA when over half of the zone's free 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 = GFP_KERNEL; > else > gfp_flags = GFP_USER; > free_pages = zone_page_state(zone, NR_FREE_PAGES); > free_pages -= zone->lowmem_reserve[gfp_zone(gfp_flags)]; > free_pages -= wmark_pages(zone, alloc_flags & ALLOC_WMARK_MASK); > cma_first = free_pages > zone_page_state(zone, NR_FREE_PAGES) / 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?