Re: [PATCH 3/3] tracing/events: use list_for_entry_continue

Li Zefan
2009-09-21T02:36:13Z

Frederic Weisbecker wrote:
> On Fri, Sep 18, 2009 at 02:07:05PM +0800, Li Zefan wrote:
>> Simplify s_next() and t_next().
>>
>> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
>> ---
>
> Nice.
> I wonder if that can be even more simplified with
> the following existing seq helpers:
>

Unfortunately they can't be used here, at least they can't
help make code simpler, because we need to skip some list
entries.

But we can add seq_list_start_at() and seq_list_next_at(),
which take a predicate and will return an entry which matches
the predicate. I thought about it, and I can try it out.

> extern struct list_head *seq_list_start(struct list_head *head,
> loff_t pos);
> extern struct list_head *seq_list_start_head(struct list_head *head,
> loff_t pos);
> extern struct list_head *seq_list_next(void *v, struct list_head *head,
> loff_t *ppos);
>