[AF_IUCV/IUCV]: smp_call_function deadlock
Calling smp_call_function can lead to a deadlock if it is called from tasklet context. Fixing this deadlock requires to move the smp_call_function from the tasklet context to a work queue. To do that queue the path pending interrupts to a separate list and move the path cleanup out of iucv_path_sever to iucv_path_connect and iucv_path_pending. This creates a new requirement for iucv_path_connect: it may not be called from tasklet context anymore. Also fixed compile problem for CONFIG_HOTPLUG_CPU=n and another one when walking the cpu_online mask. When doing this, we must disable cpu hotplug. Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
d0772b70fa
commit
04b090d50c
@@ -16,7 +16,7 @@
|
||||
* completed a register, it can exploit the other functions.
|
||||
* For furthur reference on all IUCV functionality, refer to the
|
||||
* CP Programming Services book, also available on the web thru
|
||||
* www.ibm.com/s390/vm/pubs, manual # SC24-5760
|
||||
* www.vm.ibm.com/pubs, manual # SC24-6084
|
||||
*
|
||||
* Definition of Return Codes
|
||||
* - All positive return codes including zero are reflected back
|
||||
|
Reference in New Issue
Block a user