Messages in this thread | | | From | KOSAKI Motohiro <> | Subject | Re: A possible sys_wait* bug | Date | Fri, 2 Jul 2010 15:18:05 +0900 (JST) |
| |
> On 07/01, KOSAKI Motohiro wrote: > > > > > Basically, it is possibly for readers to continuously hold > > > tasklist_lock > > Yes, this is the known problem. > > Perhaps do_wait() is not the worst example. sys_kill(-1), > sys_ioprio_set() scan the global list.
Ah, I see. Yup, Roland also pointed out this is NOT biggest risk, there are much other way. My thinking coverage was too narrow. sorry.
> > > I think the most direct approach to the problem is to have the > > > readers-writer locks be writer biased (i.e. as soon as a writer > > > contends, we do not permit any new readers). > > I thought about this too, but this is deadlockable. At least, > read_lock(tasklist) should nest, and it should work in irq context. > > We need the more fine-grained locking, but it is not clear to me what > should be done in the long term. Afaics, this is very nontrivial.
Thank you for kindful explanation.
| |