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>