mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-18 03:01:26 +00:00
scst: Avoid that a high I/O load prevents activity to be suspended
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7862 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/delay.h>
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
|
||||
#include <linux/export.h>
|
||||
#endif
|
||||
@@ -773,6 +774,14 @@ int scst_get_suspend_count(void);
|
||||
static inline atomic_t *scst_get(void)
|
||||
{
|
||||
atomic_t *a;
|
||||
|
||||
/*
|
||||
* Avoid that a high I/O load prevents activity to be suspended. See
|
||||
* also http://sourceforge.net/p/scst/mailman/message/34074831/.
|
||||
*/
|
||||
if (unlikely(test_bit(SCST_FLAG_SUSPENDING, &scst_flags)))
|
||||
mdelay(100);
|
||||
|
||||
/*
|
||||
* We don't mind if we because of preemption inc counter from another
|
||||
* CPU as soon in the majority cases we will the correct one.
|
||||
|
||||
Reference in New Issue
Block a user