Re: mmotm 2010-03-09-19-15: Lot of scheduling while atomic warnings related to RCU

From: nhorman
Date: Thu Mar 11 2010 - 19:10:11 EST



On Thu, 11 Mar 2010 17:30:48 -0500, Andi Kleen wrote:
> > a/lib/kobject_uevent.c~sysctl-fix-up-remaining-references-to-uevent_helper-fix
> > +++ a/lib/kobject_uevent.c
> > @@ -273,10 +273,11 @@ int kobject_uevent_env(struct kobject *k
> > #endif
> >
> > /* call uevent_helper, usually only enabled during early boot */
> > + rcu_read_lock();
> > helper = rcu_dereference(uevent_helper);
> > if (helper[0])
> > retval = uevent_call_helper(subsystem, env);
> > -
> > + rcu_read_unlock();
> > exit:
>
> The data actually has to be copied, there's a helper for this in rcustring.
> I'll try to send a patch later.
>
> > loads/unloads while changing uevent_helper. Anywho, should be easy to fix,
> > Mel, can you modify the code to copy helper to a private variable, then unlock
> > the rcu read side prior to calling uevent_call_helper? I imagine that would be
>
> Yes, except rcustring already has a helper for that :)
>
Yes but the rcustring bits all got reverted, trashing my series :), so its all got to be rediffed anyway

Neil
> -Andi
>

--
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/