From: Mel Gorman bio_alloc() currently uses __GFP_MOVABLE which is plain wrong. Objects are allocated with that gfp mask via mempool. The slab that is ultimatly used is not reclaimable or movable. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Acked-by: Christoph Lameter Signed-off-by: Andrew Morton --- fs/buffer.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/buffer.c~add-__gfp_movable-for-callers-to-flag-allocations-from-high-memory-that-may-be-migrated-mark-bio_alloc-allocations-correctly fs/buffer.c --- a/fs/buffer.c~add-__gfp_movable-for-callers-to-flag-allocations-from-high-memory-that-may-be-migrated-mark-bio_alloc-allocations-correctly +++ a/fs/buffer.c @@ -2613,7 +2613,7 @@ int submit_bh(int rw, struct buffer_head * from here on down, it's all bio -- do the initial mapping, * submit_bio -> generic_make_request may further map this bio around */ - bio = bio_alloc(GFP_NOIO|__GFP_MOVABLE, 1); + bio = bio_alloc(GFP_NOIO, 1); bio->bi_sector = bh->b_blocknr * (bh->b_size >> 9); bio->bi_bdev = bh->b_bdev; _