CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug

The CPU hotplug callback related to writeback calls writeback_set_ratelimit()
during every state change in the hotplug sequence. This is unnecessary
since num_online_cpus() changes only once during the entire hotplug operation.

So invoke the function only once per hotplug, thereby avoiding the
unnecessary repetition of those costly calculations.

Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
This commit is contained in:
Srivatsa S. Bhat 2012-09-28 20:27:49 +08:00 committed by Fengguang Wu
parent 0e2f2b2367
commit 2f60d628ff

View File

@ -1602,10 +1602,18 @@ void writeback_set_ratelimit(void)
}
static int __cpuinit
ratelimit_handler(struct notifier_block *self, unsigned long u, void *v)
ratelimit_handler(struct notifier_block *self, unsigned long action,
void *hcpu)
{
writeback_set_ratelimit();
return NOTIFY_DONE;
switch (action & ~CPU_TASKS_FROZEN) {
case CPU_ONLINE:
case CPU_DEAD:
writeback_set_ratelimit();
return NOTIFY_OK;
default:
return NOTIFY_DONE;
}
}
static struct notifier_block __cpuinitdata ratelimit_nb = {