forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux…
…/kernel/git/tip/linux-2.6-tip * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: MAINTAINERS: Update timer related entries timers: Use this_cpu_read timerqueue: Make timerqueue_getnext() static inline hrtimer: fix timerqueue conversion flub hrtimers: Convert hrtimers to use timerlist infrastructure timers: Fixup allmodconfig build issue timers: Rename timerlist infrastructure to timerqueue timers: Introduce timerlist infrastructure. hrtimer: Remove stale comment on curr_timer timer: Warn when del_timer_sync() is called in hardirq context timer: Del_timer_sync() can be used in softirq context timer: Make try_to_del_timer_sync() the same on SMP and UP posix-timers: Annotate lock_timer() timer: Permit statically-declared work with deferrable timers time: Use ARRAY_SIZE macro in timecompare.c timer: Initialize the field slack of timer_list timer_list: Remove alignment padding on 64 bit when CONFIG_TIMER_STATS time: Compensate for rounding on odd-frequency clocksources Fix up trivial conflict in MAINTAINERS
- Loading branch information
Showing
13 changed files
with
289 additions
and
124 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#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_iterate_next( | ||
struct timerqueue_node *node); | ||
|
||
/** | ||
* timerqueue_getnext - Returns the timer with the earlies expiration time | ||
* | ||
* @head: head of timerqueue | ||
* | ||
* Returns a pointer to the timer node that has the | ||
* earliest expiration time. | ||
*/ | ||
static inline | ||
struct timerqueue_node *timerqueue_getnext(struct timerqueue_head *head) | ||
{ | ||
return head->next; | ||
} | ||
|
||
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 */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.