From: Cyrill Gorcunov on 18 May 2010 14:40 On Wed, May 19, 2010 at 01:45:02AM +0000, Lin Ming wrote: .... > +int perf_event_register_pmu(struct pmu *pmu) > +{ > + struct pmu *tmp; > + int ret = 1; > + > + rcu_read_lock(); > + list_for_each_entry_rcu(tmp, &pmus, entry) { > + if (tmp->id == pmu->id) { > + ret = 0; > + goto err; Hi Ming, is it supposed to get out in locked state? I mean imbalanced rcu_read_lock somehow suspicicous ;) > + } > + } > + rcu_read_unlock(); > + > + spin_lock(&pmus_lock); > + list_add_tail_rcu(&pmu->entry, &pmus); > + spin_unlock(&pmus_lock); > + > +err: > + return ret; > +} > + .... -- Cyrill -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Pages: 1 Prev: [PATCH] block: remove all rcu head initializations Next: [GIT PULL] MSM mmc_sdcc driver update |