diff options
author | Jens Axboe <axboe@kernel.dk> | 2017-09-27 14:08:57 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-10-03 16:38:17 +0200 |
commit | bc48f001de12225b6430a243504aa60b5ae8a91a (patch) | |
tree | 9fbe2021803a2b70af2d8183a4330236aeccc4e1 /fs/buffer.c | |
parent | buffer: grow_dev_page() should use __GFP_NOFAIL for all cases (diff) | |
download | linux-bc48f001de12225b6430a243504aa60b5ae8a91a.tar.xz linux-bc48f001de12225b6430a243504aa60b5ae8a91a.zip |
buffer: eliminate the need to call free_more_memory() in __getblk_slow()
Since the previous commit removed any case where grow_buffers()
would return failure due to memory allocations, we can safely
remove the case where we have to call free_more_memory() in
this function.
Since this is also the last user of free_more_memory(), kill
it off completely.
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/buffer.c')
-rw-r--r-- | fs/buffer.c | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 3b60cd8456db..bff571dc7bc3 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -253,27 +253,6 @@ out: } /* - * Kick the writeback threads then try to free up some ZONE_NORMAL memory. - */ -static void free_more_memory(void) -{ - struct zoneref *z; - int nid; - - wakeup_flusher_threads(1024, WB_REASON_FREE_MORE_MEM); - yield(); - - for_each_online_node(nid) { - - z = first_zones_zonelist(node_zonelist(nid, GFP_NOFS), - gfp_zone(GFP_NOFS), NULL); - if (z->zone) - try_to_free_pages(node_zonelist(nid, GFP_NOFS), 0, - GFP_NOFS, NULL); - } -} - -/* * I/O completion handler for block_read_full_page() - pages * which come unlocked at the end of I/O. */ @@ -1086,8 +1065,6 @@ __getblk_slow(struct block_device *bdev, sector_t block, ret = grow_buffers(bdev, block, size, gfp); if (ret < 0) return NULL; - if (ret == 0) - free_more_memory(); } } |