Re: [BUG] 2.6.37-rc3 massive interactivity regression on ARM

Russell King - ARM Linux
2010-12-10T16:51:01Z

On Fri, Dec 10, 2010 at 02:47:46PM +0100, Peter Zijlstra wrote:
>
> Full patch..
>
> ---
> Subject: sched: Fix the irqtime code to deal with u64 wraps
> From: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Date: Thu Dec 09 14:15:34 CET 2010
>
> ARM systems have a 32bit sched_clock() [ which needs to be fixed ],
> but this exposed a bug in the irq_time code as well, it doesn't deal
> with wraps at all.
>
> Fix the irq_time code to deal with u64 wraps by re-writing the code to
> only use delta increments, which avoids the whole issue.
>
> Furthermore, solve the problem of 32bit arches reading partial updates
> of the u64 time values.
>
> Cc: Venkatesh Pallipadi <venki@google.com>
> Reported-by: Russell King - ARM Linux <linux@arm.linux.org.uk>

I think credit should go to Mikael Pettersson, who identified the
interactivity regression and problematical commit. I only pointed
out the dubious nature of the code.