linux/drivers/scsi/ufs
Vijay Viswanath 10e5e37581 scsi: ufs: Add clock ungating to a separate workqueue
UFS driver can receive a request during memory reclaim by kswapd.  So
when ufs driver puts the ungate work in queue, and if there are no idle
workers, kthreadd is invoked to create a new kworker. Since kswapd task
holds a mutex which kthreadd also needs, this can cause a deadlock
situation. So ungate work must be done in a separate work queue with
WQ_MEM_RECLAIM flag enabled.  Such a workqueue will have a rescue thread
which will be called when the above deadlock condition is possible.

Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
Signed-off-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2018-05-18 12:22:47 -04:00
..
Kconfig scsi: ufs: Kconfig fix 2016-09-29 21:57:08 -04:00
Makefile scsi: ufs: sysfs: attribute group for existing sysfs entries. 2018-02-15 18:34:24 -05:00
tc-dwc-g210-pci.c scsi: ufs: Fix kernel-doc errors and warnings 2018-03-01 21:00:23 -05:00
tc-dwc-g210-pltfrm.c scsi: ufs: Fix kernel-doc errors and warnings 2018-03-01 21:00:23 -05:00
tc-dwc-g210.c scsi: ufs: tc-dwc-g210: make arrays static, reduces object code size 2017-09-15 15:41:45 -04:00
tc-dwc-g210.h ufs: add support for Synopsys G210 Test Chip 2016-07-12 23:16:31 -04:00
ufs_quirks.h scsi: ufs: refactor device descriptor reading 2017-01-10 23:13:48 -05:00
ufs-qcom.c scsi: ufs: ufs-qcom: remove broken hci version quirk 2018-05-18 12:22:35 -04:00
ufs-qcom.h scsi: ufs-qcom: Remove uses of UFS_BIT() macro 2017-10-11 13:44:31 -04:00
ufs-sysfs.c scsi: ufs: Add support for Auto-Hibernate Idle Timer 2018-03-21 21:21:25 -04:00
ufs-sysfs.h scsi: ufs: sysfs: attributes 2018-02-15 18:35:05 -05:00
ufs.h scsi: ufs: sysfs: attributes 2018-02-15 18:35:05 -05:00
ufshcd-dwc.c ufs: Adding license info do tc-dwc-g210 and ufshcd-dwc to enable loadable module 2016-07-12 23:16:31 -04:00
ufshcd-dwc.h ufs: add support for DesignWare Controller 2016-07-12 23:16:31 -04:00
ufshcd-pci.c scsi: ufs: Fix kernel-doc errors and warnings 2018-03-01 21:00:23 -05:00
ufshcd-pltfrm.c scsi: ufs: Tidy clocks list head usage 2017-06-12 20:48:08 -04:00
ufshcd-pltfrm.h scsi: ufs: make the UFS variant a platform device 2015-11-09 18:00:02 -05:00
ufshcd.c scsi: ufs: Add clock ungating to a separate workqueue 2018-05-18 12:22:47 -04:00
ufshcd.h scsi: ufs: Add clock ungating to a separate workqueue 2018-05-18 12:22:47 -04:00
ufshci-dwc.h ufs: add support for DesignWare Controller 2016-07-12 23:16:31 -04:00
ufshci.h scsi: ufs: Add support for Auto-Hibernate Idle Timer 2018-03-21 21:21:25 -04:00
unipro.h scsi: ufs: ensure that host pa_tactivate is higher than device 2016-11-29 12:06:56 -05:00