| Date | Mon, 28 Jan 2013 19:18:00 +0000 | From | Christoph Lameter <> | Subject | Re: [GIT PULL] cputime: Full dynticks task/cputime accounting v7 |
| |
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().
> 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.
|