Re: [PATCH 1/2] rcu: introduce list_last_or_null_rcu

From: Steven Rostedt
Date: Thu May 28 2015 - 17:06:07 EST


On Thu, 28 May 2015 16:35:27 -0400
Dan Streetman <ddstreet@xxxxxxxx> wrote:

> Add list_last_or_null_rcu(), to simplify getting the last entry from a
> rcu-protected list. The standard list_last_entry() can't be used as it
> is not rcu-protected; the list may be modified concurrently. And the
> ->prev pointer can't be used, as only the ->next pointers are protected
> by rcu.
>
> This simply iterates forward through the entire list, to get to the last
> entry. If the list is empty, it returns NULL.

May I asked what this would be used for? It seems awfully inefficient
in its implementation. What use cases would this be for? I hate to add
something like this as a generic function which would encourage people
to use it. Iterating over an entire list to find the last element is
just nasty.

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/