Re: [PATCH] CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug
On 09/28/2012 08:27 PM, Fengguang Wu wrote: On Tue, Sep 25, 2012 at 02:18:20AM +0530, Srivatsa S. Bhat wrote: From: Srivatsa S. Bhat 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 --- Looks good to me. I'll include it in the writeback tree. Hi Fengguang, Could you tell me when inode->i_state & I_DIRTY will be set? thanks. Regards, Chen Thanks, Fengguang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majord...@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: mailto:"d...@kvack.org";> em...@kvack.org -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug
On 09/28/2012 05:57 PM, Fengguang Wu wrote: > On Tue, Sep 25, 2012 at 02:18:20AM +0530, Srivatsa S. Bhat wrote: >> >> From: Srivatsa S. Bhat >> >> 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 >> --- > > Looks good to me. I'll include it in the writeback tree. > Great, thanks! Regards, Srivatsa S. Bhat -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug
On Tue, Sep 25, 2012 at 02:18:20AM +0530, Srivatsa S. Bhat wrote: > > From: Srivatsa S. Bhat > > 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 > --- Looks good to me. I'll include it in the writeback tree. Thanks, Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug
From: Srivatsa S. Bhat 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 --- mm/page-writeback.c | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 5ad5ce2..830893b 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -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 = { -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/