diff options
-rw-r--r-- | include/linux/timerlist.h | 37 | ||||
-rw-r--r-- | include/linux/timerqueue.h | 37 | ||||
-rw-r--r-- | lib/Makefile | 2 | ||||
-rw-r--r-- | lib/timerqueue.c (renamed from lib/timerlist.c) | 40 |
4 files changed, 58 insertions, 58 deletions
diff --git a/include/linux/timerlist.h b/include/linux/timerlist.h deleted file mode 100644 index c46b28a..0000000 --- a/include/linux/timerlist.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef _LINUX_TIMERLIST_H -#define _LINUX_TIMERLIST_H - -#include <linux/rbtree.h> -#include <linux/ktime.h> - - -struct timerlist_node { - struct rb_node node; - ktime_t expires; -}; - -struct timerlist_head { - struct rb_root head; - struct timerlist_node *next; -}; - - -extern void timerlist_add(struct timerlist_head *head, - struct timerlist_node *node); -extern void timerlist_del(struct timerlist_head *head, - struct timerlist_node *node); -extern struct timerlist_node *timerlist_getnext(struct timerlist_head *head); -extern struct timerlist_node *timerlist_iterate_next( - struct timerlist_node *node); - -static inline void timerlist_init(struct timerlist_node *node) -{ - RB_CLEAR_NODE(&node->node); -} - -static inline void timerlist_init_head(struct timerlist_head *head) -{ - head->head = RB_ROOT; - head->next = NULL; -} -#endif /* _LINUX_TIMERLIST_H */ diff --git a/include/linux/timerqueue.h b/include/linux/timerqueue.h new file mode 100644 index 0000000..406b103 --- /dev/null +++ b/include/linux/timerqueue.h @@ -0,0 +1,37 @@ +#ifndef _LINUX_TIMERQUEUE_H +#define _LINUX_TIMERQUEUE_H + +#include <linux/rbtree.h> +#include <linux/ktime.h> + + +struct timerqueue_node { + struct rb_node node; + ktime_t expires; +}; + +struct timerqueue_head { + struct rb_root head; + struct timerqueue_node *next; +}; + + +extern void timerqueue_add(struct timerqueue_head *head, + struct timerqueue_node *node); +extern void timerqueue_del(struct timerqueue_head *head, + struct timerqueue_node *node); +extern struct timerqueue_node *timerqueue_getnext(struct timerqueue_head *head); +extern struct timerqueue_node *timerqueue_iterate_next( + struct timerqueue_node *node); + +static inline void timerqueue_init(struct timerqueue_node *node) +{ + RB_CLEAR_NODE(&node->node); +} + +static inline void timerqueue_init_head(struct timerqueue_head *head) +{ + head->head = RB_ROOT; + head->next = NULL; +} +#endif /* _LINUX_TIMERQUEUE_H */ diff --git a/lib/Makefile b/lib/Makefile index 8b475cf..9e2db72 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -8,7 +8,7 @@ KBUILD_CFLAGS = $(subst -pg,,$(ORIG_CFLAGS)) endif lib-y := ctype.o string.o vsprintf.o cmdline.o \ - rbtree.o radix-tree.o dump_stack.o timerlist.o\ + rbtree.o radix-tree.o dump_stack.o timerqueue.o\ idr.o int_sqrt.o extable.o prio_tree.o \ sha1.o irq_regs.o reciprocal_div.o argv_split.o \ proportions.o prio_heap.o ratelimit.o show_mem.o \ diff --git a/lib/timerlist.c b/lib/timerqueue.c index 9101b42..f46de84 100644 --- a/lib/timerlist.c +++ b/lib/timerqueue.c @@ -1,7 +1,7 @@ /* - * Generic Timer-list + * Generic Timer-queue * - * Manages a simple list of timers, ordered by expiration time. + * Manages a simple queue of timers, ordered by expiration time. * Uses rbtrees for quick list adds and expiration. * * NOTE: All of the following functions need to be serialized @@ -22,30 +22,30 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include <linux/timerlist.h> +#include <linux/timerqueue.h> #include <linux/rbtree.h> /** - * timerlist_add - Adds timer to timerlist. + * timerqueue_add - Adds timer to timerqueue. * - * @head: head of timerlist + * @head: head of timerqueue * @node: timer node to be added * - * Adds the timer node to the timerlist, sorted by the + * Adds the timer node to the timerqueue, sorted by the * node's expires value. */ -void timerlist_add(struct timerlist_head *head, struct timerlist_node *node) +void timerqueue_add(struct timerqueue_head *head, struct timerqueue_node *node) { struct rb_node **p = &head->head.rb_node; struct rb_node *parent = NULL; - struct timerlist_node *ptr; + struct timerqueue_node *ptr; /* Make sure we don't add nodes that are already added */ WARN_ON_ONCE(!RB_EMPTY_NODE(&node->node)); while (*p) { parent = *p; - ptr = rb_entry(parent, struct timerlist_node, node); + ptr = rb_entry(parent, struct timerqueue_node, node); if (node->expires.tv64 < ptr->expires.tv64) p = &(*p)->rb_left; else @@ -59,14 +59,14 @@ void timerlist_add(struct timerlist_head *head, struct timerlist_node *node) } /** - * timerlist_del - Removes a timer from the timerlist. + * timerqueue_del - Removes a timer from the timerqueue. * - * @head: head of timerlist + * @head: head of timerqueue * @node: timer node to be removed * - * Removes the timer node from the timerlist. + * Removes the timer node from the timerqueue. */ -void timerlist_del(struct timerlist_head *head, struct timerlist_node *node) +void timerqueue_del(struct timerqueue_head *head, struct timerqueue_node *node) { WARN_ON_ONCE(RB_EMPTY_NODE(&node->node)); @@ -75,7 +75,7 @@ void timerlist_del(struct timerlist_head *head, struct timerlist_node *node) struct rb_node *rbn = rb_next(&node->node); head->next = rbn ? - rb_entry(rbn, struct timerlist_node, node) : NULL; + rb_entry(rbn, struct timerqueue_node, node) : NULL; } rb_erase(&node->node, &head->head); RB_CLEAR_NODE(&node->node); @@ -83,21 +83,21 @@ void timerlist_del(struct timerlist_head *head, struct timerlist_node *node) /** - * timerlist_getnext - Returns the timer with the earlies expiration time + * timerqueue_getnext - Returns the timer with the earlies expiration time * - * @head: head of timerlist + * @head: head of timerqueue * * Returns a pointer to the timer node that has the * earliest expiration time. */ -struct timerlist_node *timerlist_getnext(struct timerlist_head *head) +struct timerqueue_node *timerqueue_getnext(struct timerqueue_head *head) { return head->next; } /** - * timerlist_iterate_next - Returns the timer after the provided timer + * timerqueue_iterate_next - Returns the timer after the provided timer * * @node: Pointer to a timer. * @@ -105,7 +105,7 @@ struct timerlist_node *timerlist_getnext(struct timerlist_head *head) * necessary, to iterate through the list of timers in a timer list * without modifying the list. */ -struct timerlist_node *timerlist_iterate_next(struct timerlist_node *node) +struct timerqueue_node *timerqueue_iterate_next(struct timerqueue_node *node) { struct rb_node *next; @@ -114,5 +114,5 @@ struct timerlist_node *timerlist_iterate_next(struct timerlist_node *node) next = rb_next(&node->node); if (!next) return NULL; - return container_of(next, struct timerlist_node, node); + return container_of(next, struct timerqueue_node, node); } |