| Date | Tue, 4 Sep 2012 16:41:13 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH tip/core/rcu 15/15] kmemleak: Replace list_for_each_continue_rcu with new interface |
| |
On Fri, Aug 31, 2012 at 11:55:16AM -0700, Josh Triplett wrote: > On Thu, Aug 30, 2012 at 11:56:28AM -0700, Paul E. McKenney wrote: > > From: Michael Wang <wangyun@linux.vnet.ibm.com> > > > > This patch replaces list_for_each_continue_rcu() with > > list_for_each_entry_continue_rcu() to save a few lines > > of code and allow removing list_for_each_continue_rcu(). > > > > Signed-off-by: Michael Wang <wangyun@linux.vnet.ibm.com> > > Acked-by: Catalin Marinas <catalin.marinas@arm.com> > > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> > > Reviewed-by: Josh Triplett <josh@joshtriplett.org>
And thank you for all the reviews and comments!!!
Thanx, Paul
> > --- > > mm/kmemleak.c | 6 ++---- > > 1 files changed, 2 insertions(+), 4 deletions(-) > > > > diff --git a/mm/kmemleak.c b/mm/kmemleak.c > > index 45eb621..0de83b4 100644 > > --- a/mm/kmemleak.c > > +++ b/mm/kmemleak.c > > @@ -1483,13 +1483,11 @@ static void *kmemleak_seq_next(struct seq_file *seq, void *v, loff_t *pos) > > { > > struct kmemleak_object *prev_obj = v; > > struct kmemleak_object *next_obj = NULL; > > - struct list_head *n = &prev_obj->object_list; > > + struct kmemleak_object *obj = prev_obj; > > > > ++(*pos); > > > > - list_for_each_continue_rcu(n, &object_list) { > > - struct kmemleak_object *obj = > > - list_entry(n, struct kmemleak_object, object_list); > > + list_for_each_entry_continue_rcu(obj, &object_list, object_list) { > > if (get_object(obj)) { > > next_obj = obj; > > break; > > -- > > 1.7.8 > > >
|