Merge tag 'backlight-for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel...
[cascardo/linux.git] / mm / page-writeback.c
index f4cd7d8..28d6f36 100644 (file)
@@ -2080,26 +2080,12 @@ void writeback_set_ratelimit(void)
                ratelimit_pages = 16;
 }
 
-static int
-ratelimit_handler(struct notifier_block *self, unsigned long action,
-                 void *hcpu)
+static int page_writeback_cpu_online(unsigned int cpu)
 {
-
-       switch (action & ~CPU_TASKS_FROZEN) {
-       case CPU_ONLINE:
-       case CPU_DEAD:
-               writeback_set_ratelimit();
-               return NOTIFY_OK;
-       default:
-               return NOTIFY_DONE;
-       }
+       writeback_set_ratelimit();
+       return 0;
 }
 
-static struct notifier_block ratelimit_nb = {
-       .notifier_call  = ratelimit_handler,
-       .next           = NULL,
-};
-
 /*
  * Called early on to tune the page writeback dirty limits.
  *
@@ -2122,8 +2108,10 @@ void __init page_writeback_init(void)
 {
        BUG_ON(wb_domain_init(&global_wb_domain, GFP_KERNEL));
 
-       writeback_set_ratelimit();
-       register_cpu_notifier(&ratelimit_nb);
+       cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "mm/writeback:online",
+                         page_writeback_cpu_online, NULL);
+       cpuhp_setup_state(CPUHP_MM_WRITEBACK_DEAD, "mm/writeback:dead", NULL,
+                         page_writeback_cpu_online);
 }
 
 /**