diff options
| author | Frederic Weisbecker <[email protected]> | 2010-01-09 20:53:14 +0100 |
|---|---|---|
| committer | Frederic Weisbecker <[email protected]> | 2010-01-16 12:29:32 +0100 |
| commit | 5908cdc85eb30f8d07f2cb11d4a62334d7229048 (patch) | |
| tree | 6d63ec247a47b957bea52578e77c8d6bda942eb0 /include/linux | |
| parent | 889ff0150661512d79484219612b7e2e024b6c07 (diff) | |
list: Introduce list_rotate_left()
Bring a new list_rotate_left() helper that rotates a list to
the left. This is useful for codes that need to round roubin
elements which queue priority increases from tail to head.
Signed-off-by: Frederic Weisbecker <[email protected]>
Acked-by: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/list.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/list.h b/include/linux/list.h index 969f6e92d089..5d9c6558e8ab 100644 --- a/include/linux/list.h +++ b/include/linux/list.h @@ -206,6 +206,20 @@ static inline int list_empty_careful(const struct list_head *head) } /** + * list_rotate_left - rotate the list to the left + * @head: the head of the list + */ +static inline void list_rotate_left(struct list_head *head) +{ + struct list_head *first; + + if (!list_empty(head)) { + first = head->next; + list_move_tail(first, head); + } +} + +/** * list_is_singular - tests whether a list has just one entry. * @head: the list to test. */ |