Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp688009ybh; Tue, 21 Jul 2020 05:41:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyT8SrenZ3N22Ao9Ka5FK/KT0pOmKXTJLw7KhSu4LeEgokLdpxNyk7TRGTHRAEcbpNAp3/u X-Received: by 2002:a17:906:b24d:: with SMTP id ce13mr26368805ejb.546.1595335308047; Tue, 21 Jul 2020 05:41:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595335308; cv=none; d=google.com; s=arc-20160816; b=M6fvvplyqdVGCXgcg/91OVfaWpeyJApfSDfP9AuxSxK3HxiVQBzrw3dJRx21keE0qk HsmCXqQsCRLL1lTEUnUtuHL8eP5h4IRJg8FwBrxE7fUMryBcKoCFlbOE/xj3PH0XzowI WUhzglMYmPM7xKKl9ArrvZuWXcJyHZtAr0Geh0zClD3QD044Z3ccdor3VXDZLjSIryr0 liaXwOcakLtPm4YJviTcP3n88vS99ik1hw4dgJPSaDOev92hLFoe5Aqt72ygaLQvuzjh nqzJJEvWr4Jciw3Ij48hWJrFMc1N3XY3SvqkAodNzHtMD+HIpW4+RDADo0HrmJ39pZB/ jHlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=+eDVSEYmq0fjBYQj7wTr8F6JGt8PoI1lc0pmr1YCupo=; b=qg7PZ0rZtMYD7iR+duBEGAddolHofVxuzpW2eS7JrdnsipwLnQpjwCNfmYx1GIvqTY GqFzIRjDOwgW1q61lv9UU0JeOnVPIEcRonIpzNGtFMn01aXK2qfTIqXoUQIW/1AJdvA2 C/ghzLN77HRCircPunGfedOtugOnmGb+wuUNrkRv0KDqR2J33+AIkzhAjeefCK7jt22K koPdTBcyT3tTHNm5eIINqWxMimyTxeD3OMehhr0bBlRhnpPAUFIN6tYA2nloxYYWrO15 qTu71qLbLbU7C5ESjHW5d/bK85yvyDO2malbgyczl2unJGbCxCM2q8pIvmbdMK81I3QY LzDA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j20si10830185ejx.721.2020.07.21.05.41.25; Tue, 21 Jul 2020 05:41:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728692AbgGUMjC (ORCPT + 99 others); Tue, 21 Jul 2020 08:39:02 -0400 Received: from mx2.suse.de ([195.135.220.15]:49242 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727991AbgGUMjC (ORCPT ); Tue, 21 Jul 2020 08:39:02 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 55666B182; Tue, 21 Jul 2020 12:39:07 +0000 (UTC) Subject: Re: [PATCH] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs To: Matthew Wilcox , js1304@gmail.com Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@lge.com, Christoph Hellwig , Roman Gushchin , Mike Kravetz , Naoya Horiguchi , Michal Hocko , "Aneesh Kumar K . V" , Joonsoo Kim , stable@vger.kernel.org References: <1595302129-23895-1-git-send-email-iamjoonsoo.kim@lge.com> <20200721120533.GD15516@casper.infradead.org> From: Vlastimil Babka Message-ID: <4c484ce0-cfed-0c50-7a20-d1474ce9afee@suse.cz> Date: Tue, 21 Jul 2020 14:38:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20200721120533.GD15516@casper.infradead.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/21/20 2:05 PM, Matthew Wilcox wrote: > On Tue, Jul 21, 2020 at 12:28:49PM +0900, js1304@gmail.com wrote: >> +static inline unsigned int current_alloc_flags(gfp_t gfp_mask, >> + unsigned int alloc_flags) >> +{ >> +#ifdef CONFIG_CMA >> + unsigned int pflags = current->flags; >> + >> + if (!(pflags & PF_MEMALLOC_NOCMA) && >> + gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE) >> + alloc_flags |= ALLOC_CMA; > > Please don't indent by one tab when splitting a line because it looks like > the second line and third line are part of the same block. Either do > this: > > if (!(pflags & PF_MEMALLOC_NOCMA) && > gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE) > alloc_flags |= ALLOC_CMA; > > or this: > if (!(pflags & PF_MEMALLOC_NOCMA) && > gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE) > alloc_flags |= ALLOC_CMA; Ah, good point. >> @@ -4619,8 +4631,10 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, >> wake_all_kswapds(order, gfp_mask, ac); >> >> reserve_flags = __gfp_pfmemalloc_flags(gfp_mask); >> - if (reserve_flags) >> + if (reserve_flags) { >> alloc_flags = reserve_flags; >> + alloc_flags = current_alloc_flags(gfp_mask, alloc_flags); >> + } > > Is this right? Shouldn't you be passing reserve_flags to > current_alloc_flags() here? Also, there's no need to add { } here. Note the "alloc_flags = reserve_flags;" line is not being deleted here. But if it was, your points would be true, and yeah it would be a bit more tidy.