Re: [GIT PULL] cputime: Full dynticks task/cputime accounting v7

From: Frederic Weisbecker
Date: Mon Jan 28 2013 - 14:21:26 EST


2013/1/28 Christoph Lameter <cl@xxxxxxxxx>:
> On Mon, 28 Jan 2013, Frederic Weisbecker wrote:
>
>> My last concern is the dependency on CONFIG_64BIT. We rely on cputime_t
>> being u64 for reasonable nanosec granularity implementation. And therefore
>> we need a single instruction fetch to read kernel cpustat for atomicity
>> requirement against concurrent incrementation, which only 64 bit archs
>> can provide.
>
> Most x86 cpus support cmpxchg8b on 32bit which can be abused for
> 64 bit reads (see cmpxchg64 in cmpxchg_32.h). Simply do a cmpxchg with
> zero and use whatever it returns.
>
> A percpu version that uses the instruction is called
> this_cpu_cmpxchg_double().

Yeah but we need to be able to do remote read. In fact atomic_read()
would do the trick.

>
>> There is just no emergency though as this new option depends on the context
>> tracking subsystem that only x86-64 (and soon ppc64) implements yet. And
>> this set is complex enough already. I think we can deal with that later.
>
> Ok then this may not be that useful.

What is not useful?
--
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/