Re: [PATCH v5 1/7] list: Add function list_rotate_to_front()

From: Roman Gushchin
Date: Wed Apr 03 2019 - 13:58:22 EST


On Wed, Apr 03, 2019 at 10:05:39AM +1100, Tobin C. Harding wrote:
> Currently if we wish to rotate a list until a specific item is at the
> front of the list we can call list_move_tail(head, list). Note that the
> arguments are the reverse way to the usual use of list_move_tail(list,
> head). This is a hack, it depends on the developer knowing how the
> list_head operates internally which violates the layer of abstraction
> offered by the list_head. Also, it is not intuitive so the next
> developer to come along must study list.h in order to fully understand
> what is meant by the call, while this is 'good for' the developer it
> makes reading the code harder. We should have an function appropriately
> named that does this if there are users for it intree.
>
> By grep'ing the tree for list_move_tail() and list_tail() and attempting
> to guess the argument order from the names it seems there is only one
> place currently in the tree that does this - the slob allocatator.
>
> Add function list_rotate_to_front() to rotate a list until the specified
> item is at the front of the list.
>
> Signed-off-by: Tobin C. Harding <tobin@xxxxxxxxxx>

Reviewed-by: Roman Gushchin <guro@xxxxxx>