From: Jens Axboe Date: Wed, 27 Sep 2017 12:08:57 +0000 (-0600) Subject: buffer: eliminate the need to call free_more_memory() in __getblk_slow() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=bc48f001de12225b6430a243504aa60b5ae8a91a;p=openwrt%2Fstaging%2Fblogic.git 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 Reviewed-by: Jan Kara Signed-off-by: Jens Axboe --- diff --git a/fs/buffer.c b/fs/buffer.c index 3b60cd8456db..bff571dc7bc3 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -252,27 +252,6 @@ out: return ret; } -/* - * 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(); } }