On Wed, May 28, 2014 at 11:19:49AM -0500, Christoph Lameter wrote: > On Wed, 28 May 2014, Frederic Weisbecker wrote: > > > On Mon, May 12, 2014 at 01:18:10PM -0500, Christoph Lameter wrote: > > > #ifdef CONFIG_SMP > > > static DEFINE_PER_CPU(struct delayed_work, vmstat_work); > > > int sysctl_stat_interval __read_mostly = HZ; > > > +static DECLARE_BITMAP(cpu_stat_off_bits, CONFIG_NR_CPUS) __read_mostly; > > > +const struct cpumask *const cpu_stat_off = to_cpumask(cpu_stat_off_bits); > > > +EXPORT_SYMBOL(cpu_stat_off); > > > > Is there no way to make it a cpumask_var_t, and allocate it from > > start_shepherd_timer()? > > > > This should really take less space overall. > > This was taken from the way things work with the other cpumasks in > linux/kernel/cpu.c. Its compatible with the way done there and allows > also the write protection of the cpumask outside of vmstat.c The cpumasks in cpu.c are special as they are the base of the cpumask_var_t definition. They are necessary to define nr_cpu_bits which is the base of cpumask_var_t allocations. As such they must stay lower level and defined on top of NR_CPUS. But most other cases don't need that huge static bitmap. I actually haven't seen any other struct cpumask than isn't based on cpumask_var_t. > > > > + schedule_delayed_work(this_cpu_ptr(&vmstat_work), > > > + __round_jiffies_relative(sysctl_stat_interval, > > > + HOUSEKEEPING_CPU)); > > > > Maybe you can just make the shepherd work unbound and let bind it from userspace > > once we have the workqueue user affinity patchset in. > > Yes that is what V5 should have done. Looks like the final version was not > posted. Sigh. The correct patch follows this message and it no longer uses > HOUSEKEEPING_CPU. Ok. > > > > OTOH, it means you need to have a vmstat_update work on the housekeeping CPU as well. > > Well the vnstat_udpate may not be needed on the processor where the > shepherd runs so it may save something. Ok, thanks! > > From cl@xxxxxxxxx Thu Oct 3 12:41:21 2013 > Date: Thu, 3 Oct 2013 12:41:21 -0500 (CDT) > From: Christoph Lameter <cl@xxxxxxxxx> > To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Gilad Ben-Yossef <gilad@xxxxxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Tejun Heo <tj@xxxxxxxxxx>, John Stultz <johnstul@xxxxxxxxxx>, Mike Frysinger <vapier@xxxxxxxxxx>, Minchan Kim <minchan.kim@xxxxxxxxx>, Hakan Akkan <hakanakkan@xxxxxxxxx>, Max Krasnyansky <maxk@xxxxxxxxxxxx>, Frederic Weisbecker <fweisbec@xxxxxxxxx>, Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, hughd@xxxxxxxxxx, viresh.kumar@xxxxxxxxxx, hpa@xxxxxxxxx, mingo@xxxxxxxxxx, peterz@xxxxxxxxxxxxx > Subject: vmstat: On demand vmstat workers V6 Please post it on a new thread so it gets noticed by others. Thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>