Messages in this thread | | | Date | Fri, 22 Jul 2011 23:26:29 +0200 | From | Francois Romieu <> | Subject | Re: Linux 3.0 release |
| |
Stephen Hemminger <shemminger@vyatta.com> : > This a regression which probably began with > > commit e22bee782b3b00bd4534ae9b1c5fb2e8e6573c5c > Author: Tejun Heo <tj@kernel.org> > Date: Tue Jun 29 10:07:14 2010 +0200 > > workqueue: implement concurrency managed dynamic worker pool > > Before that it was perfectly legal for link watch code to > call schedule_delayed_work from IRQ. This should be allowable; > the code to manage the worker pool should handle it.
I beg to differ: see Ben's first report (http://lists.openwall.net/netdev/2011/05/04/183). ^^
One of the code path in the netif_carrier code leads it to try and disable a late workqueue to reenable it immediately (mod_workqueue anyone ?): netif_carrier_on -> linkwatch_fire_event -> linkwatch_schedule_work -> cancel_delayed_work -> del_timer_sync
The del_timer_sync has been here for ages. Afaiks it is not a new pool code nor a schedule_delayed_work only problem.
-- Ueimor
| |