diff options
Diffstat (limited to 'mm/mempolicy.c')
-rw-r--r-- | mm/mempolicy.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 4c0f99996811..9f4e9b95e8f2 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c | |||
@@ -1203,7 +1203,8 @@ static inline unsigned interleave_nid(struct mempolicy *pol, | |||
1203 | 1203 | ||
1204 | #ifdef CONFIG_HUGETLBFS | 1204 | #ifdef CONFIG_HUGETLBFS |
1205 | /* Return a zonelist suitable for a huge page allocation. */ | 1205 | /* Return a zonelist suitable for a huge page allocation. */ |
1206 | struct zonelist *huge_zonelist(struct vm_area_struct *vma, unsigned long addr) | 1206 | struct zonelist *huge_zonelist(struct vm_area_struct *vma, unsigned long addr, |
1207 | gfp_t gfp_flags) | ||
1207 | { | 1208 | { |
1208 | struct mempolicy *pol = get_vma_policy(current, vma, addr); | 1209 | struct mempolicy *pol = get_vma_policy(current, vma, addr); |
1209 | 1210 | ||
@@ -1211,7 +1212,7 @@ struct zonelist *huge_zonelist(struct vm_area_struct *vma, unsigned long addr) | |||
1211 | unsigned nid; | 1212 | unsigned nid; |
1212 | 1213 | ||
1213 | nid = interleave_nid(pol, vma, addr, HPAGE_SHIFT); | 1214 | nid = interleave_nid(pol, vma, addr, HPAGE_SHIFT); |
1214 | return NODE_DATA(nid)->node_zonelists + gfp_zone(GFP_HIGHUSER); | 1215 | return NODE_DATA(nid)->node_zonelists + gfp_zone(gfp_flags); |
1215 | } | 1216 | } |
1216 | return zonelist_policy(GFP_HIGHUSER, pol); | 1217 | return zonelist_policy(GFP_HIGHUSER, pol); |
1217 | } | 1218 | } |