Deleting timers

From: Alan Stern
Date: Fri Jun 26 2009 - 15:51:08 EST


Thomas:

The major difference -- in fact, almost the only difference -- between
del_timer() and try_to_del_timer_sync() is that try_to_del_timer_sync
returns a special code (-1) if the timer couldn't be deleted because it
is currently running, whereas del_timer doesn't check this.

Furthermore, the "_sync" in the name suggests that
try_to_del_timer_sync will wait until a running timer has finished,
which it clearly does not do.

Despite these facts, the kerneldoc for try_to_del_timer_sync states
that it must not be called in interrupt context. Why not? Isn't that
advice simply wrong?

With this in mind, would there be any objection if I renamed it to
try_to_del_timer(), removed the comment forbidding it to be used in
interrupt context, and made it available even on non-SMP builds?

Alan Stern

P.S.: The only other difference is that del_timer calls
timer_stats_timer_clear_start_info. Why doesn't try_to_del_timer_sync
do the same thing?

--
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/