Messages in this thread | | | Date | Mon, 28 Jan 2013 20:21:39 +0100 | Subject | Re: [GIT PULL] cputime: Full dynticks task/cputime accounting v7 | From | Frederic Weisbecker <> |
| |
2013/1/28 Christoph Lameter <cl@linux.com>: > 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?
| |