On 06/29, Oleg Nesterov wrote: > > Suppose we have the tasklets T1 and T2, both are scheduled on the > same CPU. T1 takes some spinlock LOCK. > > Currently it is possible to do > > spin_lock(LOCK); > disable_tasklet(T2); > > With this patch, the above code hangs. I am stupid. Yes, flush_workqueue() is evil and should not be used, but if we use workqueues, tasklet_disable() becomes might_sleep() anyway. This is incompatible and unavoidable change. grep, grep... net/bluetooth/hci_core.c:hci_rx_task() read_lock(&hci_task_lock) hci_event_packet() hci_num_comp_pkts_evt() tasklet_disable(&hdev->tx_task) Oleg. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- References:
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Ingo Molnar <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Jeff Garzik <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Ingo Molnar <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Alexey Kuznetsov <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Ingo Molnar <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Alexey Kuznetsov <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Oleg Nesterov <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Alexey Kuznetsov <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Oleg Nesterov <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- From: Oleg Nesterov <[email protected]>
- Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- Prev by Date: Re: [PATCH] CIFS: make cifsd (more)
- Next by Date: Re: [RFC/PATCH] debug workqueue deadlocks with lockdep
- Previous by thread: Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- Next by thread: Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
- Index(es):