[PATCH 0/3][RFC] Alarmtimer fixes (hopefully 3.7 material)

From: John Stultz
Date: Mon Sep 17 2012 - 23:13:04 EST


Arve HjÃnnevÃg reported numerous crashes from the
"BUG_ON(timer->state != HRTIMER_STATE_CALLBACK)" check
in __run_hrtimer after it called alarmtimer_fired.

Looking at the code, I realized much of the logic duplicated
the hrtimer code, and that by multiplexing numerous alarmtimers
onto a single hrtimer didn't really gain us anything over just
using an hrtimer per alarmtimer. Especially given the various
ways hrtimer actions can fail.

So this patchset tries to simplify some of the alarmtimer code
by utilizing the hrtimer logic in a more direct manner.
Followed then by a few cleanup patches.

I've done some brief testing with some simpler test cases,
but I'd appreciate any additional testing or review.

I'm hoping to resubmit this so it can go in for 3.7.

thanks
-john

Cc: Arve HjÃnnevÃg <arve@xxxxxxxxxx>
Cc: Colin Cross <ccross@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

John Stultz (3):
alarmtimer: Use hrtimer per-alarm instead of per-base
alarmtimer: Remove unused helpers & defines
alarmtimer: Rename alarmtimer_remove to alarmtimer_dequeue

include/linux/alarmtimer.h | 31 +-------------
kernel/time/alarmtimer.c | 99 +++++++++++++-------------------------------
2 files changed, 31 insertions(+), 99 deletions(-)

--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/