--- zzzz-none-000/linux-2.6.19.2/kernel/delayacct.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/kernel/delayacct.c 2007-01-11 07:38:19.000000000 +0000 @@ -66,7 +66,6 @@ { struct timespec ts; s64 ns; - unsigned long flags; do_posix_clock_monotonic_gettime(end); ts = timespec_sub(*end, *start); @@ -74,10 +73,10 @@ if (ns < 0) return; - spin_lock_irqsave(¤t->delays->lock, flags); + spin_lock(¤t->delays->lock); *total += ns; (*count)++; - spin_unlock_irqrestore(¤t->delays->lock, flags); + spin_unlock(¤t->delays->lock); } void __delayacct_blkio_start(void) @@ -105,7 +104,6 @@ s64 tmp; struct timespec ts; unsigned long t1,t2,t3; - unsigned long flags; /* Though tsk->delays accessed later, early exit avoids * unnecessary returning of other data @@ -138,14 +136,14 @@ /* zero XXX_total, non-zero XXX_count implies XXX stat overflowed */ - spin_lock_irqsave(&tsk->delays->lock, flags); + spin_lock(&tsk->delays->lock); tmp = d->blkio_delay_total + tsk->delays->blkio_delay; d->blkio_delay_total = (tmp < d->blkio_delay_total) ? 0 : tmp; tmp = d->swapin_delay_total + tsk->delays->swapin_delay; d->swapin_delay_total = (tmp < d->swapin_delay_total) ? 0 : tmp; d->blkio_count += tsk->delays->blkio_count; d->swapin_count += tsk->delays->swapin_count; - spin_unlock_irqrestore(&tsk->delays->lock, flags); + spin_unlock(&tsk->delays->lock); done: return 0; @@ -154,12 +152,11 @@ __u64 __delayacct_blkio_ticks(struct task_struct *tsk) { __u64 ret; - unsigned long flags; - spin_lock_irqsave(&tsk->delays->lock, flags); + spin_lock(&tsk->delays->lock); ret = nsec_to_clock_t(tsk->delays->blkio_delay + tsk->delays->swapin_delay); - spin_unlock_irqrestore(&tsk->delays->lock, flags); + spin_unlock(&tsk->delays->lock); return ret; }