The patch titled call mm/page-writeback.c:set_ratelimit() when new pages are hot-added has been removed from the -mm tree. Its filename is call-mm-page-writebackcset_ratelimit-when-new-pages.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: call mm/page-writeback.c:set_ratelimit() when new pages are hot-added From: Chandra Seetharaman <sekharan@xxxxxxxxxx> ratelimit_pages in page-writeback.c is recalculated (in set_ratelimit()) every time a CPU is hot-added/removed. But this value is not recalculated when new pages are hot-added. This patch fixes that problem by calling set_ratelimit() when new pages are hot-added. [akpm@xxxxxxxx: cleanups] Signed-off-by: Chandra Seetharaman <sekharan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/linux/writeback.h | 1 + mm/memory_hotplug.c | 2 ++ mm/page-writeback.c | 6 +++--- 3 files changed, 6 insertions(+), 3 deletions(-) diff -puN include/linux/writeback.h~call-mm-page-writebackcset_ratelimit-when-new-pages include/linux/writeback.h --- a/include/linux/writeback.h~call-mm-page-writebackcset_ratelimit-when-new-pages +++ a/include/linux/writeback.h @@ -117,6 +117,7 @@ int sync_page_range(struct inode *inode, int sync_page_range_nolock(struct inode *inode, struct address_space *mapping, loff_t pos, loff_t count); void set_page_dirty_balance(struct page *page); +void writeback_set_ratelimit(void); /* pdflush.c */ extern int nr_pdflush_threads; /* Global so it can be exported to sysctl diff -puN mm/memory_hotplug.c~call-mm-page-writebackcset_ratelimit-when-new-pages mm/memory_hotplug.c --- a/mm/memory_hotplug.c~call-mm-page-writebackcset_ratelimit-when-new-pages +++ a/mm/memory_hotplug.c @@ -13,6 +13,7 @@ #include <linux/compiler.h> #include <linux/module.h> #include <linux/pagevec.h> +#include <linux/writeback.h> #include <linux/slab.h> #include <linux/sysctl.h> #include <linux/cpu.h> @@ -192,6 +193,7 @@ int online_pages(unsigned long pfn, unsi if (need_zonelists_rebuild) build_all_zonelists(); vm_total_pages = nr_free_pagecache_pages(); + writeback_set_ratelimit(); return 0; } diff -puN mm/page-writeback.c~call-mm-page-writebackcset_ratelimit-when-new-pages mm/page-writeback.c --- a/mm/page-writeback.c~call-mm-page-writebackcset_ratelimit-when-new-pages +++ a/mm/page-writeback.c @@ -501,7 +501,7 @@ void laptop_sync_completion(void) * will write six megabyte chunks, max. */ -static void set_ratelimit(void) +void writeback_set_ratelimit(void) { ratelimit_pages = vm_total_pages / (num_online_cpus() * 32); if (ratelimit_pages < 16) @@ -513,7 +513,7 @@ static void set_ratelimit(void) static int __cpuinit ratelimit_handler(struct notifier_block *self, unsigned long u, void *v) { - set_ratelimit(); + writeback_set_ratelimit(); return 0; } @@ -546,7 +546,7 @@ void __init page_writeback_init(void) vm_dirty_ratio = 1; } mod_timer(&wb_timer, jiffies + dirty_writeback_interval); - set_ratelimit(); + writeback_set_ratelimit(); register_cpu_notifier(&ratelimit_nb); } _ Patches currently in -mm which might be from sekharan@xxxxxxxxxx are origin.patch add-srcu-based-notifier-chains.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html