summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2013-10-17 15:44:20 -0700
committerBernard Xiong <[email protected]>2013-10-17 15:44:20 -0700
commit3eac58ce8e71ea7993a1febb159c2b156f3835af (patch)
tree2eb771d4bdda6f841172685c42a73fcfb8ef1ad5 /include
parentc29ff6b0ac0456f5275e6a35c8d8ba0ee8d743c1 (diff)
parentd59aa279c37b7aba07385a3a2cb3057bce6c5fea (diff)
Merge pull request #173 from grissiom/new-timer
kernel: use skip list to implement timer list
Diffstat (limited to 'include')
-rw-r--r--include/rtdef.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/rtdef.h b/include/rtdef.h
index e654711438..0c522e8dce 100644
--- a/include/rtdef.h
+++ b/include/rtdef.h
@@ -410,6 +410,15 @@ struct rt_object_information
#define RT_TIMER_CTRL_SET_ONESHOT 0x2 /**< change timer to one shot */
#define RT_TIMER_CTRL_SET_PERIODIC 0x3 /**< change timer to periodic */
+#ifndef RT_TIMER_SKIP_LIST_LEVEL
+#define RT_TIMER_SKIP_LIST_LEVEL 1
+#endif
+
+/* 1 or 3 */
+#ifndef RT_TIMER_SKIP_LIST_MASK
+#define RT_TIMER_SKIP_LIST_MASK 0x3
+#endif
+
/**
* timer structure
*/
@@ -417,7 +426,7 @@ struct rt_timer
{
struct rt_object parent; /**< inherit from rt_object */
- rt_list_t list; /**< the node of timer list */
+ rt_list_t row[RT_TIMER_SKIP_LIST_LEVEL];
void (*timeout_func)(void *parameter); /**< timeout function */
void *parameter; /**< timeout function's parameter */