s390/vtimer: rework virtual timer interface
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 20 Jul 2012 09:15:08 +0000 (11:15 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 20 Jul 2012 09:15:08 +0000 (11:15 +0200)
commit27f6b416626a240e1b46f646d2e0c5266f4eac95
tree4549855d7996ce9d18e1586e2f0bfb5fa5835718
parent921486b92bcb1b82ab6668dcbb36d05604966351
s390/vtimer: rework virtual timer interface

The current virtual timer interface is inherently per-cpu and hard to
use. The sole user of the interface is appldata which uses it to execute
a function after a specific amount of cputime has been used over all cpus.

Rework the virtual timer interface to hook into the cputime accounting.
This makes the interface independent from the CPU timer interrupts, and
makes the virtual timers global as opposed to per-cpu.
Overall the code is greatly simplified. The downside is that the accuracy
is not as good as the original implementation, but it is still good enough
for appldata.

Reviewed-by: Jan Glauber <jang@linux.vnet.ibm.com>
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
13 files changed:
arch/s390/appldata/appldata_base.c
arch/s390/include/asm/cputime.h
arch/s390/include/asm/timer.h [deleted file]
arch/s390/include/asm/vtimer.h [new file with mode: 0644]
arch/s390/kernel/asm-offsets.c
arch/s390/kernel/entry.S
arch/s390/kernel/entry.h
arch/s390/kernel/entry64.S
arch/s390/kernel/process.c
arch/s390/kernel/smp.c
arch/s390/kernel/time.c
arch/s390/kernel/vtime.c
arch/s390/lib/delay.c