Re: [RFC][PATCH 00/32] Nohz cpusets v2 (adaptive tickless kernel)

From: Christoph Lameter
Date: Tue Mar 27 2012 - 12:22:52 EST


On Tue, 27 Mar 2012, Gilad Ben-Yossef wrote:

> +static void vmstat_update(struct work_struct *w)
> +{
> + int cpu, this_cpu = smp_processor_id();
> + int sleepy_cpu_counter = 0;
> + static spinlock_t lock;
> +
> + if(spin_trylock(&lock)) {

Trylock would cause cache bouncing between vmstat runs on various
processors. The reason that vmstat_update exists is to avoid these cache
bounces. Please no exclusive cacheline acquisiton by all cpus by default.

The best method would be to assign a sacrifical lamb cpu and check if we
are running on that cpu. That way taking a lock can be avoided.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/