From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755152AbbHXS3b (ORCPT ); Mon, 24 Aug 2015 14:29:31 -0400 Received: from outbound-smtp03.blacknight.com ([81.17.249.16]:44733 "EHLO outbound-smtp03.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751179AbbHXS3a (ORCPT ); Mon, 24 Aug 2015 14:29:30 -0400 Date: Mon, 24 Aug 2015 19:29:21 +0100 From: Mel Gorman To: Andrew Morton Cc: Johannes Weiner , Rik van Riel , Vlastimil Babka , David Rientjes , Joonsoo Kim , Michal Hocko , Linux-MM , LKML Subject: Re: [PATCH 07/12] mm, page_alloc: Distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd Message-ID: <20150824182921.GL12432@techsingularity.net> References: <1440418191-10894-1-git-send-email-mgorman@techsingularity.net> <1440418191-10894-8-git-send-email-mgorman@techsingularity.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <1440418191-10894-8-git-send-email-mgorman@techsingularity.net> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 24, 2015 at 01:09:46PM +0100, Mel Gorman wrote: > diff --git a/lib/radix-tree.c b/lib/radix-tree.c > index f9ebe1c82060..c3775ee46cd6 100644 > --- a/lib/radix-tree.c > +++ b/lib/radix-tree.c > @@ -188,7 +188,7 @@ radix_tree_node_alloc(struct radix_tree_root *root) > * preloading in the interrupt anyway as all the allocations have to > * be atomic. So just do normal allocation when in interrupt. > */ > - if (!(gfp_mask & __GFP_WAIT) && !in_interrupt()) { > + if (!gfpflags_allow_blocking(gfp_mask) && !in_interrupt()) { > struct radix_tree_preload *rtp; > > /* > @@ -249,7 +249,7 @@ radix_tree_node_free(struct radix_tree_node *node) > * with preemption not disabled. > * > * To make use of this facility, the radix tree must be initialised without > - * __GFP_WAIT being passed to INIT_RADIX_TREE(). > + * __GFP_DIRECT_RECLAIM being passed to INIT_RADIX_TREE(). > */ > static int __radix_tree_preload(gfp_t gfp_mask) > { > @@ -286,12 +286,12 @@ static int __radix_tree_preload(gfp_t gfp_mask) > * with preemption not disabled. > * > * To make use of this facility, the radix tree must be initialised without > - * __GFP_WAIT being passed to INIT_RADIX_TREE(). > + * __GFP_DIRECT_RECLAIM being passed to INIT_RADIX_TREE(). > */ > int radix_tree_preload(gfp_t gfp_mask) > { > /* Warn on non-sensical use... */ > - WARN_ON_ONCE(!(gfp_mask & __GFP_WAIT)); > + WARN_ON_ONCE(gfpflags_allow_blocking(gfp_mask)); > return __radix_tree_preload(gfp_mask); > } > EXPORT_SYMBOL(radix_tree_preload); This was a last minute conversion related to fixing up direct usages of __GFP_DIRECT_RECLAIM that is obviously wrong. It needs a diff --git a/lib/radix-tree.c b/lib/radix-tree.c index c3775ee46cd6..fcf5d98574ce 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -291,7 +291,7 @@ static int __radix_tree_preload(gfp_t gfp_mask) int radix_tree_preload(gfp_t gfp_mask) { /* Warn on non-sensical use... */ - WARN_ON_ONCE(gfpflags_allow_blocking(gfp_mask)); + WARN_ON_ONCE(!gfpflags_allow_blocking(gfp_mask)); return __radix_tree_preload(gfp_mask); } EXPORT_SYMBOL(radix_tree_preload); -- Mel Gorman SUSE Labs