Re: [PATCH v2] mm: make lru_add_drain_all() selective

2013-08-07 Thread Cody P Schafer
On 08/06/2013 01:22 PM, Chris Metcalf wrote: [...] /** + * schedule_on_each_cpu - execute a function synchronously on each online CPU + * @func: the function to call + * + * schedule_on_each_cpu() executes @func on each online CPU using the + * system workqueue and blocks until all CPUs have

Re: [PATCH v2] mm: make lru_add_drain_all() selective

2013-08-07 Thread Tejun Heo
On Tue, Aug 06, 2013 at 04:22:39PM -0400, Chris Metcalf wrote: > This change makes lru_add_drain_all() only selectively interrupt > the cpus that have per-cpu free pages that can be drained. > > This is important in nohz mode where calling mlockall(), for > example, otherwise will interrupt every

[PATCH v2] mm: make lru_add_drain_all() selective

2013-08-07 Thread Chris Metcalf
This change makes lru_add_drain_all() only selectively interrupt the cpus that have per-cpu free pages that can be drained. This is important in nohz mode where calling mlockall(), for example, otherwise will interrupt every core unnecessarily. Signed-off-by: Chris Metcalf --- Oops! In the

[PATCH v2] mm: make lru_add_drain_all() selective

2013-08-07 Thread Chris Metcalf
This change makes lru_add_drain_all() only selectively interrupt the cpus that have per-cpu free pages that can be drained. This is important in nohz mode where calling mlockall(), for example, otherwise will interrupt every core unnecessarily. Signed-off-by: Chris Metcalf cmetc...@tilera.com

Re: [PATCH v2] mm: make lru_add_drain_all() selective

2013-08-07 Thread Tejun Heo
On Tue, Aug 06, 2013 at 04:22:39PM -0400, Chris Metcalf wrote: This change makes lru_add_drain_all() only selectively interrupt the cpus that have per-cpu free pages that can be drained. This is important in nohz mode where calling mlockall(), for example, otherwise will interrupt every core

Re: [PATCH v2] mm: make lru_add_drain_all() selective

2013-08-07 Thread Cody P Schafer
On 08/06/2013 01:22 PM, Chris Metcalf wrote: [...] /** + * schedule_on_each_cpu - execute a function synchronously on each online CPU + * @func: the function to call + * + * schedule_on_each_cpu() executes @func on each online CPU using the + * system workqueue and blocks until all CPUs have