Messages in this thread | | | From | KOSAKI Motohiro <> | Subject | Re: [RFC][PATCH] lru_add_drain_all() don't use schedule_on_each_cpu() | Date | Fri, 24 Oct 2008 13:54:46 +0900 (JST) |
| |
> > > > Actually, schedule_on_each_cpu() is very problematic function. > > it introduce the dependency of all worker on keventd_wq, > > but we can't know what lock held by worker in kevend_wq because > > keventd_wq is widely used out of kernel drivers too. > > > > So, the task of any lock held shouldn't wait on keventd_wq. > > Its task should use own special purpose work queue. > > I don't see a better way to solve it, other than avoiding lru_add_drain_all
Well,
Unfortunately, lru_add_drain_all is also used some other VM place (page migration and memory hotplug). and page migration's usage is the same of this mlock usage. (1. grab mmap_sem 2. call lru_add_drain_all)
Then, change mlock usage isn't solution ;-)
| |