summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@penguin.transmeta.com>2002-10-02 23:03:33 -0700
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-10-02 23:03:33 -0700
commitfda0b1edfe0e329374e37efee7e3a03e4c3d49b1 (patch)
tree9f841042ab93565e2ebf49dbecb515ccdd7baa0e /kernel
parent81ad17d73401df4a7b924b5cf8dce87a098303f5 (diff)
parent5de3d3bdc9db381fdbbf5a22df4dd29864b63071 (diff)
Merge penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/andrew
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index aa13d6a55721..d28180b44322 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -28,6 +28,7 @@
#include <linux/kernel_stat.h>
#include <linux/security.h>
#include <linux/notifier.h>
+#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/timer.h>
@@ -866,6 +867,10 @@ void scheduler_tick(int user_ticks, int sys_ticks)
/* note: this timer irq context must be accounted for as well */
if (irq_count() - HARDIRQ_OFFSET >= SOFTIRQ_OFFSET)
kstat.per_cpu_system[cpu] += sys_ticks;
+ else if (atomic_read(&nr_iowait_tasks) > 0)
+ kstat.per_cpu_iowait[cpu] += sys_ticks;
+ else
+ kstat.per_cpu_idle[cpu] += sys_ticks;
#if CONFIG_SMP
idle_tick(rq);
#endif