diff options
Diffstat (limited to 'lib/radix-tree.c')
| -rw-r--r-- | lib/radix-tree.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/radix-tree.c b/lib/radix-tree.c index f9ebe1c82060..fcf5d98574ce 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c | |||
| @@ -188,7 +188,7 @@ radix_tree_node_alloc(struct radix_tree_root *root) | |||
| 188 | * preloading in the interrupt anyway as all the allocations have to | 188 | * preloading in the interrupt anyway as all the allocations have to |
| 189 | * be atomic. So just do normal allocation when in interrupt. | 189 | * be atomic. So just do normal allocation when in interrupt. |
| 190 | */ | 190 | */ |
| 191 | if (!(gfp_mask & __GFP_WAIT) && !in_interrupt()) { | 191 | if (!gfpflags_allow_blocking(gfp_mask) && !in_interrupt()) { |
| 192 | struct radix_tree_preload *rtp; | 192 | struct radix_tree_preload *rtp; |
| 193 | 193 | ||
| 194 | /* | 194 | /* |
| @@ -249,7 +249,7 @@ radix_tree_node_free(struct radix_tree_node *node) | |||
| 249 | * with preemption not disabled. | 249 | * with preemption not disabled. |
| 250 | * | 250 | * |
| 251 | * To make use of this facility, the radix tree must be initialised without | 251 | * To make use of this facility, the radix tree must be initialised without |
| 252 | * __GFP_WAIT being passed to INIT_RADIX_TREE(). | 252 | * __GFP_DIRECT_RECLAIM being passed to INIT_RADIX_TREE(). |
| 253 | */ | 253 | */ |
| 254 | static int __radix_tree_preload(gfp_t gfp_mask) | 254 | static int __radix_tree_preload(gfp_t gfp_mask) |
| 255 | { | 255 | { |
| @@ -286,12 +286,12 @@ out: | |||
| 286 | * with preemption not disabled. | 286 | * with preemption not disabled. |
| 287 | * | 287 | * |
| 288 | * To make use of this facility, the radix tree must be initialised without | 288 | * To make use of this facility, the radix tree must be initialised without |
| 289 | * __GFP_WAIT being passed to INIT_RADIX_TREE(). | 289 | * __GFP_DIRECT_RECLAIM being passed to INIT_RADIX_TREE(). |
| 290 | */ | 290 | */ |
| 291 | int radix_tree_preload(gfp_t gfp_mask) | 291 | int radix_tree_preload(gfp_t gfp_mask) |
| 292 | { | 292 | { |
| 293 | /* Warn on non-sensical use... */ | 293 | /* Warn on non-sensical use... */ |
| 294 | WARN_ON_ONCE(!(gfp_mask & __GFP_WAIT)); | 294 | WARN_ON_ONCE(!gfpflags_allow_blocking(gfp_mask)); |
| 295 | return __radix_tree_preload(gfp_mask); | 295 | return __radix_tree_preload(gfp_mask); |
| 296 | } | 296 | } |
| 297 | EXPORT_SYMBOL(radix_tree_preload); | 297 | EXPORT_SYMBOL(radix_tree_preload); |
| @@ -303,7 +303,7 @@ EXPORT_SYMBOL(radix_tree_preload); | |||
| 303 | */ | 303 | */ |
| 304 | int radix_tree_maybe_preload(gfp_t gfp_mask) | 304 | int radix_tree_maybe_preload(gfp_t gfp_mask) |
| 305 | { | 305 | { |
| 306 | if (gfp_mask & __GFP_WAIT) | 306 | if (gfpflags_allow_blocking(gfp_mask)) |
| 307 | return __radix_tree_preload(gfp_mask); | 307 | return __radix_tree_preload(gfp_mask); |
| 308 | /* Preloading doesn't help anything with this gfp mask, skip it */ | 308 | /* Preloading doesn't help anything with this gfp mask, skip it */ |
| 309 | preempt_disable(); | 309 | preempt_disable(); |
