[PATCH 5/5] timers: cleanup, kill __get_base()

From: Oleg Nesterov
Date: Sat Mar 19 2005 - 12:31:39 EST


__get_base() was added to reduce the changes in
previous patches. This patch removes it.

Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

--- 2.6.12-rc1/kernel/timer.c~5_CLEAN 2005-03-19 22:28:34.000000000 +0300
+++ 2.6.12-rc1/kernel/timer.c 2005-03-19 23:34:23.000000000 +0300
@@ -86,16 +86,6 @@ static inline void set_running_timer(tve
#endif
}

-static inline tvec_base_t *__get_base(struct timer_list *timer)
-{
- tvec_base_t *base = timer->_base;
-
- if (__timer_pending(base))
- return (void*)base - __TIMER_PENDING;
- else
- return NULL;
-}
-
static inline void __set_base(struct timer_list *timer,
tvec_base_t *base, int pending)
{
@@ -323,16 +313,18 @@ EXPORT_SYMBOL(mod_timer);
int del_timer(struct timer_list *timer)
{
unsigned long flags;
- tvec_base_t *base;
+ tvec_base_t *_base, *base;

check_timer(timer);

repeat:
- base = __get_base(timer);
- if (!base)
+ _base = timer->_base;
+ if (!__timer_pending(_base))
return 0;
+
+ base = (void*)_base - __TIMER_PENDING;
spin_lock_irqsave(&base->lock, flags);
- if (base != __get_base(timer)) {
+ if (_base != timer->_base) {
spin_unlock_irqrestore(&base->lock, flags);
goto repeat;
}
@@ -445,7 +437,7 @@ static int cascade(tvec_base_t *base, tv
struct timer_list *tmp;

tmp = list_entry(curr, struct timer_list, entry);
- BUG_ON(__get_base(tmp) != base);
+ BUG_ON(tmp->_base != ((void*)base + __TIMER_PENDING));
curr = curr->next;
internal_add_timer(base, tmp);
}
-
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/