Messages in this thread | | | Date | Wed, 07 Feb 2007 17:42:40 -0800 | From | Josh Triplett <> | Subject | Re: [PATCH 3/3] rcutorture: Remove redundant assignment to cur_ops in for loop |
| |
Andrew Morton wrote: > On Wed, 7 Feb 2007 16:22:28 -0800 > Andrew Morton <akpm@linux-foundation.org> wrote: >> I suspect we can do better than that... [...]
Much better; please go ahead and replace my patch with this one.
Signed-off-by: Josh Triplett <josh@kernel.org>
- Josh Triplett
> --- a/kernel/rcutorture.c~rcutorture-remove-redundant-assignment-to-cur_ops-in > +++ a/kernel/rcutorture.c > @@ -569,10 +569,6 @@ static struct rcu_torture_ops sched_ops > .name = "sched" > }; > > -static struct rcu_torture_ops *torture_ops[] = > - { &rcu_ops, &rcu_sync_ops, &rcu_bh_ops, &rcu_bh_sync_ops, > - &srcu_ops, &qrcu_ops, &sched_ops, NULL }; > - > /* > * RCU torture writer kthread. Repeatedly substitutes a new structure > * for that pointed to by rcu_torture_current, freeing the old structure > @@ -939,16 +935,17 @@ rcu_torture_init(void) > int i; > int cpu; > int firsterr = 0; > + static struct rcu_torture_ops *torture_ops[] = > + { &rcu_ops, &rcu_sync_ops, &rcu_bh_ops, &rcu_bh_sync_ops, > + &srcu_ops, &qrcu_ops, &sched_ops, }; > > /* Process args and tell the world that the torturer is on the job. */ > - > - for (i = 0; cur_ops = torture_ops[i], cur_ops; i++) { > + for (i = 0; i < ARRAY_SIZE(torture_ops); i++) { > cur_ops = torture_ops[i]; > - if (strcmp(torture_type, cur_ops->name) == 0) { > + if (strcmp(torture_type, cur_ops->name) == 0) > break; > - } > } > - if (cur_ops == NULL) { > + if (i == ARRAY_SIZE(torture_ops)) { > printk(KERN_ALERT "rcutorture: invalid torture type: \"%s\"\n", > torture_type); > return (-EINVAL); > _ > > >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |