Messages in this thread | | | Date | Thu, 11 Mar 2010 23:30:48 +0100 | From | Andi Kleen <> | Subject | Re: mmotm 2010-03-09-19-15: Lot of scheduling while atomic warnings related to RCU |
| |
> 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 :)
-Andi
| |