diff --git a/fs/buffer.c b/fs/buffer.c index 3b60cd8456db4dd36ae3bf1a9f0430433cdf6b17..bff571dc7bc3b083c1d12178596f45e1cba81781 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -252,27 +252,6 @@ __find_get_block_slow(struct block_device *bdev, sector_t block) 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(); } }