All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mei: Abort writes if incomplete after 1s
@ 2019-07-23 11:19 Chris Wilson
  2019-07-23 11:25   ` Winkler, Tomas
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Chris Wilson @ 2019-07-23 11:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: linux-kernel, Chris Wilson, Alexander Usyskin, Tomas Winkler

During i915 unload, it appears that it may get stuck waiting on a
workqueue being hogged by mei:

<7> [212.666912] i915 0000:00:02.0: [drm:drm_client_release] drm_fb_helper
<3> [308.544943] INFO: task i915_module_loa:2612 blocked for more than 61 seconds.
<3> [308.545047]       Tainted: G     U  W         5.3.0-rc1-CI-CI_DRM_6537+ #1
<3> [308.545085] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
<6> [308.545128] i915_module_loa D13256  2612    960 0x00004004
<4> [308.545137] Call Trace:
<4> [308.545150]  ? __schedule+0x326/0x890
<4> [308.545159]  ? wait_for_common+0x116/0x1f0
<4> [308.545164]  schedule+0x2b/0xb0
<4> [308.545169]  schedule_timeout+0x219/0x3c0
<4> [308.545176]  ? wait_for_common+0x132/0x1f0
<4> [308.545183]  ? _raw_spin_unlock_irq+0x24/0x30
<4> [308.545189]  ? wait_for_common+0x116/0x1f0
<4> [308.545193]  wait_for_common+0x13a/0x1f0
<4> [308.545200]  ? wake_up_q+0x80/0x80
<4> [308.545209]  flush_workqueue+0x19d/0x540
<4> [308.545334]  ? intel_modeset_driver_remove+0xb3/0x140 [i915]
<4> [308.545407]  intel_modeset_driver_remove+0xb3/0x140 [i915]
<4> [308.545464]  i915_driver_remove+0xae/0x110 [i915]
<4> [308.545522]  i915_pci_remove+0x19/0x30 [i915]
<4> [308.545529]  pci_device_remove+0x36/0xb0

<6> [308.565422] Showing busy workqueues and worker pools:
<6> [308.565425] workqueue events: flags=0x0
<6> [308.565572]   pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=2/256
<6> [308.565635]     in-flight: 441:mei_cl_bus_rescan_work [mei]
<6> [308.565641]     pending: dbs_work_handler
<6> [308.565686] pool 2: cpus=1 node=0 flags=0x0 nice=0 hung=0s workers=5 idle: 2248 21 17 169

<6> [308.553788] Workqueue: events mei_cl_bus_rescan_work [mei]
<4> [308.553792] Call Trace:
<4> [308.553799]  ? __schedule+0x326/0x890
<4> [308.553808]  schedule+0x2b/0xb0
<4> [308.553815]  mei_cl_write+0x430/0x5a0 [mei]
<4> [308.553820]  ? __kmalloc+0x2b6/0x330
<4> [308.553824]  ? wait_woken+0xa0/0xa0
<4> [308.553835]  __mei_cl_send+0x1f4/0x240 [mei]
<4> [308.553848]  mei_mkhi_fix+0x91/0x280 [mei]
<4> [308.553859]  mei_cl_bus_dev_fixup+0xba/0x100 [mei]
<4> [308.553868]  ? device_add+0x156/0x670
<4> [308.553889]  ? mei_cl_bus_rescan_work+0x1bc/0x350 [mei]
<4> [308.553896]  mei_cl_bus_rescan_work+0x1bc/0x350 [mei]
<4> [308.553905]  process_one_work+0x245/0x5f0
<4> [308.553915]  worker_thread+0x37/0x380
<4> [308.553921]  ? process_one_work+0x5f0/0x5f0
<4> [308.553924]  kthread+0x119/0x130
<4> [308.553928]  ? kthread_park+0xa0/0xa0
<4> [308.553934]  ret_from_fork+0x3a/0x50

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Alexander Usyskin <alexander.usyskin@intel.com>
Cc: Tomas Winkler <tomas.winkler@intel.com>
---
 drivers/misc/mei/bus.c    |  9 +++++++--
 drivers/misc/mei/client.c |  5 +++--
 drivers/misc/mei/main.c   | 18 ++++++++++++++----
 3 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c
index 985bd4fd3328..5b2db77d48db 100644
--- a/drivers/misc/mei/bus.c
+++ b/drivers/misc/mei/bus.c
@@ -66,9 +66,10 @@ ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t length,
 
 	while (cl->tx_cb_queued >= bus->tx_queue_limit) {
 		mutex_unlock(&bus->device_lock);
-		rets = wait_event_interruptible(cl->tx_wait,
+		rets = wait_event_interruptible_timeout(cl->tx_wait,
 				cl->writing_state == MEI_WRITE_COMPLETE ||
-				(!mei_cl_is_connected(cl)));
+				!mei_cl_is_connected(cl),
+				HZ);
 		mutex_lock(&bus->device_lock);
 		if (rets) {
 			if (signal_pending(current))
@@ -79,6 +80,10 @@ ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t length,
 			rets = -ENODEV;
 			goto out;
 		}
+		if (cl->writing_state != MEI_WRITE_COMPLETE) {
+			rets = -EFAULT;
+			goto out;
+		}
 	}
 
 	cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, NULL);
diff --git a/drivers/misc/mei/client.c b/drivers/misc/mei/client.c
index 1e3edbbacb1e..e7acc8aa9b15 100644
--- a/drivers/misc/mei/client.c
+++ b/drivers/misc/mei/client.c
@@ -1767,9 +1767,10 @@ ssize_t mei_cl_write(struct mei_cl *cl, struct mei_cl_cb *cb)
 	if (blocking && cl->writing_state != MEI_WRITE_COMPLETE) {
 
 		mutex_unlock(&dev->device_lock);
-		rets = wait_event_interruptible(cl->tx_wait,
+		rets = wait_event_interruptible_timeout(cl->tx_wait,
 				cl->writing_state == MEI_WRITE_COMPLETE ||
-				(!mei_cl_is_connected(cl)));
+				!mei_cl_is_connected(cl),
+				HZ);
 		mutex_lock(&dev->device_lock);
 		/* wait_event_interruptible returns -ERESTARTSYS */
 		if (rets) {
diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c
index f894d1f8a53e..0eb7bfd89a90 100644
--- a/drivers/misc/mei/main.c
+++ b/drivers/misc/mei/main.c
@@ -294,9 +294,10 @@ static ssize_t mei_write(struct file *file, const char __user *ubuf,
 			goto out;
 		}
 		mutex_unlock(&dev->device_lock);
-		rets = wait_event_interruptible(cl->tx_wait,
+		rets = wait_event_interruptible_timeout(cl->tx_wait,
 				cl->writing_state == MEI_WRITE_COMPLETE ||
-				(!mei_cl_is_connected(cl)));
+				!mei_cl_is_connected(cl),
+				HZ);
 		mutex_lock(&dev->device_lock);
 		if (rets) {
 			if (signal_pending(current))
@@ -307,6 +308,10 @@ static ssize_t mei_write(struct file *file, const char __user *ubuf,
 			rets = -ENODEV;
 			goto out;
 		}
+		if (cl->writing_state != MEI_WRITE_COMPLETE) {
+			rets = -EFAULT;
+			goto out;
+		}
 	}
 
 	cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, file);
@@ -658,9 +663,10 @@ static int mei_fsync(struct file *fp, loff_t start, loff_t end, int datasync)
 
 	while (mei_cl_is_write_queued(cl)) {
 		mutex_unlock(&dev->device_lock);
-		rets = wait_event_interruptible(cl->tx_wait,
+		rets = wait_event_interruptible_timeout(cl->tx_wait,
 				cl->writing_state == MEI_WRITE_COMPLETE ||
-				!mei_cl_is_connected(cl));
+				!mei_cl_is_connected(cl),
+				HZ);
 		mutex_lock(&dev->device_lock);
 		if (rets) {
 			if (signal_pending(current))
@@ -671,6 +677,10 @@ static int mei_fsync(struct file *fp, loff_t start, loff_t end, int datasync)
 			rets = -ENODEV;
 			goto out;
 		}
+		if (cl->writing_state != MEI_WRITE_COMPLETE) {
+			rets = -EFAULT;
+			goto out;
+		}
 	}
 	rets = 0;
 out:
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* RE: [PATCH] mei: Abort writes if incomplete after 1s
  2019-07-23 11:19 [PATCH] mei: Abort writes if incomplete after 1s Chris Wilson
@ 2019-07-23 11:25   ` Winkler, Tomas
  2019-07-23 12:30 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: Winkler, Tomas @ 2019-07-23 11:25 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: linux-kernel, Usyskin, Alexander, C, Ramalingam

> 
> During i915 unload, it appears that it may get stuck waiting on a workqueue
> being hogged by mei:

Thanks for the bug report, but this is not a proper fix, we will try to work it out.
Thanks
Tomas

> 
> <7> [212.666912] i915 0000:00:02.0: [drm:drm_client_release] drm_fb_helper
> <3> [308.544943] INFO: task i915_module_loa:2612 blocked for more than 61
> seconds.
> <3> [308.545047]       Tainted: G     U  W         5.3.0-rc1-CI-CI_DRM_6537+ #1
> <3> [308.545085] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
> this message.
> <6> [308.545128] i915_module_loa D13256  2612    960 0x00004004
> <4> [308.545137] Call Trace:
> <4> [308.545150]  ? __schedule+0x326/0x890 <4> [308.545159]  ?
> wait_for_common+0x116/0x1f0 <4> [308.545164]  schedule+0x2b/0xb0 <4>
> [308.545169]  schedule_timeout+0x219/0x3c0 <4> [308.545176]  ?
> wait_for_common+0x132/0x1f0 <4> [308.545183]  ?
> _raw_spin_unlock_irq+0x24/0x30 <4> [308.545189]  ?
> wait_for_common+0x116/0x1f0 <4> [308.545193]
> wait_for_common+0x13a/0x1f0 <4> [308.545200]  ? wake_up_q+0x80/0x80
> <4> [308.545209]  flush_workqueue+0x19d/0x540 <4> [308.545334]  ?
> intel_modeset_driver_remove+0xb3/0x140 [i915] <4> [308.545407]
> intel_modeset_driver_remove+0xb3/0x140 [i915] <4> [308.545464]
> i915_driver_remove+0xae/0x110 [i915] <4> [308.545522]
> i915_pci_remove+0x19/0x30 [i915] <4> [308.545529]
> pci_device_remove+0x36/0xb0
> 
> <6> [308.565422] Showing busy workqueues and worker pools:
> <6> [308.565425] workqueue events: flags=0x0
> <6> [308.565572]   pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=2/256
> <6> [308.565635]     in-flight: 441:mei_cl_bus_rescan_work [mei]
> <6> [308.565641]     pending: dbs_work_handler
> <6> [308.565686] pool 2: cpus=1 node=0 flags=0x0 nice=0 hung=0s workers=5
> idle: 2248 21 17 169
> 
> <6> [308.553788] Workqueue: events mei_cl_bus_rescan_work [mei] <4>
> [308.553792] Call Trace:
> <4> [308.553799]  ? __schedule+0x326/0x890 <4> [308.553808]
> schedule+0x2b/0xb0 <4> [308.553815]  mei_cl_write+0x430/0x5a0 [mei] <4>
> [308.553820]  ? __kmalloc+0x2b6/0x330 <4> [308.553824]  ?
> wait_woken+0xa0/0xa0 <4> [308.553835]  __mei_cl_send+0x1f4/0x240 [mei]
> <4> [308.553848]  mei_mkhi_fix+0x91/0x280 [mei] <4> [308.553859]
> mei_cl_bus_dev_fixup+0xba/0x100 [mei] <4> [308.553868]  ?
> device_add+0x156/0x670 <4> [308.553889]  ?
> mei_cl_bus_rescan_work+0x1bc/0x350 [mei] <4> [308.553896]
> mei_cl_bus_rescan_work+0x1bc/0x350 [mei] <4> [308.553905]
> process_one_work+0x245/0x5f0 <4> [308.553915]  worker_thread+0x37/0x380
> <4> [308.553921]  ? process_one_work+0x5f0/0x5f0 <4> [308.553924]
> kthread+0x119/0x130 <4> [308.553928]  ? kthread_park+0xa0/0xa0 <4>
> [308.553934]  ret_from_fork+0x3a/0x50
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Alexander Usyskin <alexander.usyskin@intel.com>
> Cc: Tomas Winkler <tomas.winkler@intel.com>
> ---
>  drivers/misc/mei/bus.c    |  9 +++++++--
>  drivers/misc/mei/client.c |  5 +++--
>  drivers/misc/mei/main.c   | 18 ++++++++++++++----
>  3 files changed, 24 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c index
> 985bd4fd3328..5b2db77d48db 100644
> --- a/drivers/misc/mei/bus.c
> +++ b/drivers/misc/mei/bus.c
> @@ -66,9 +66,10 @@ ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t
> length,
> 
>  	while (cl->tx_cb_queued >= bus->tx_queue_limit) {
>  		mutex_unlock(&bus->device_lock);
> -		rets = wait_event_interruptible(cl->tx_wait,
> +		rets = wait_event_interruptible_timeout(cl->tx_wait,
>  				cl->writing_state == MEI_WRITE_COMPLETE
> ||
> -				(!mei_cl_is_connected(cl)));
> +				!mei_cl_is_connected(cl),
> +				HZ);
>  		mutex_lock(&bus->device_lock);
>  		if (rets) {
>  			if (signal_pending(current))
> @@ -79,6 +80,10 @@ ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t
> length,
>  			rets = -ENODEV;
>  			goto out;
>  		}
> +		if (cl->writing_state != MEI_WRITE_COMPLETE) {
> +			rets = -EFAULT;
> +			goto out;
> +		}
>  	}
> 
>  	cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, NULL); diff --git
> a/drivers/misc/mei/client.c b/drivers/misc/mei/client.c index
> 1e3edbbacb1e..e7acc8aa9b15 100644
> --- a/drivers/misc/mei/client.c
> +++ b/drivers/misc/mei/client.c
> @@ -1767,9 +1767,10 @@ ssize_t mei_cl_write(struct mei_cl *cl, struct
> mei_cl_cb *cb)
>  	if (blocking && cl->writing_state != MEI_WRITE_COMPLETE) {
> 
>  		mutex_unlock(&dev->device_lock);
> -		rets = wait_event_interruptible(cl->tx_wait,
> +		rets = wait_event_interruptible_timeout(cl->tx_wait,
>  				cl->writing_state == MEI_WRITE_COMPLETE
> ||
> -				(!mei_cl_is_connected(cl)));
> +				!mei_cl_is_connected(cl),
> +				HZ);
>  		mutex_lock(&dev->device_lock);
>  		/* wait_event_interruptible returns -ERESTARTSYS */
>  		if (rets) {
> diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c index
> f894d1f8a53e..0eb7bfd89a90 100644
> --- a/drivers/misc/mei/main.c
> +++ b/drivers/misc/mei/main.c
> @@ -294,9 +294,10 @@ static ssize_t mei_write(struct file *file, const char
> __user *ubuf,
>  			goto out;
>  		}
>  		mutex_unlock(&dev->device_lock);
> -		rets = wait_event_interruptible(cl->tx_wait,
> +		rets = wait_event_interruptible_timeout(cl->tx_wait,
>  				cl->writing_state == MEI_WRITE_COMPLETE
> ||
> -				(!mei_cl_is_connected(cl)));
> +				!mei_cl_is_connected(cl),
> +				HZ);
>  		mutex_lock(&dev->device_lock);
>  		if (rets) {
>  			if (signal_pending(current))
> @@ -307,6 +308,10 @@ static ssize_t mei_write(struct file *file, const char
> __user *ubuf,
>  			rets = -ENODEV;
>  			goto out;
>  		}
> +		if (cl->writing_state != MEI_WRITE_COMPLETE) {
> +			rets = -EFAULT;
> +			goto out;
> +		}
>  	}
> 
>  	cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, file); @@ -658,9
> +663,10 @@ static int mei_fsync(struct file *fp, loff_t start, loff_t end, int
> datasync)
> 
>  	while (mei_cl_is_write_queued(cl)) {
>  		mutex_unlock(&dev->device_lock);
> -		rets = wait_event_interruptible(cl->tx_wait,
> +		rets = wait_event_interruptible_timeout(cl->tx_wait,
>  				cl->writing_state == MEI_WRITE_COMPLETE
> ||
> -				!mei_cl_is_connected(cl));
> +				!mei_cl_is_connected(cl),
> +				HZ);
>  		mutex_lock(&dev->device_lock);
>  		if (rets) {
>  			if (signal_pending(current))
> @@ -671,6 +677,10 @@ static int mei_fsync(struct file *fp, loff_t start, loff_t
> end, int datasync)
>  			rets = -ENODEV;
>  			goto out;
>  		}
> +		if (cl->writing_state != MEI_WRITE_COMPLETE) {
> +			rets = -EFAULT;
> +			goto out;
> +		}
>  	}
>  	rets = 0;
>  out:
> --
> 2.22.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] mei: Abort writes if incomplete after 1s
@ 2019-07-23 11:25   ` Winkler, Tomas
  0 siblings, 0 replies; 10+ messages in thread
From: Winkler, Tomas @ 2019-07-23 11:25 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: Usyskin, Alexander, linux-kernel

> 
> During i915 unload, it appears that it may get stuck waiting on a workqueue
> being hogged by mei:

Thanks for the bug report, but this is not a proper fix, we will try to work it out.
Thanks
Tomas

> 
> <7> [212.666912] i915 0000:00:02.0: [drm:drm_client_release] drm_fb_helper
> <3> [308.544943] INFO: task i915_module_loa:2612 blocked for more than 61
> seconds.
> <3> [308.545047]       Tainted: G     U  W         5.3.0-rc1-CI-CI_DRM_6537+ #1
> <3> [308.545085] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
> this message.
> <6> [308.545128] i915_module_loa D13256  2612    960 0x00004004
> <4> [308.545137] Call Trace:
> <4> [308.545150]  ? __schedule+0x326/0x890 <4> [308.545159]  ?
> wait_for_common+0x116/0x1f0 <4> [308.545164]  schedule+0x2b/0xb0 <4>
> [308.545169]  schedule_timeout+0x219/0x3c0 <4> [308.545176]  ?
> wait_for_common+0x132/0x1f0 <4> [308.545183]  ?
> _raw_spin_unlock_irq+0x24/0x30 <4> [308.545189]  ?
> wait_for_common+0x116/0x1f0 <4> [308.545193]
> wait_for_common+0x13a/0x1f0 <4> [308.545200]  ? wake_up_q+0x80/0x80
> <4> [308.545209]  flush_workqueue+0x19d/0x540 <4> [308.545334]  ?
> intel_modeset_driver_remove+0xb3/0x140 [i915] <4> [308.545407]
> intel_modeset_driver_remove+0xb3/0x140 [i915] <4> [308.545464]
> i915_driver_remove+0xae/0x110 [i915] <4> [308.545522]
> i915_pci_remove+0x19/0x30 [i915] <4> [308.545529]
> pci_device_remove+0x36/0xb0
> 
> <6> [308.565422] Showing busy workqueues and worker pools:
> <6> [308.565425] workqueue events: flags=0x0
> <6> [308.565572]   pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=2/256
> <6> [308.565635]     in-flight: 441:mei_cl_bus_rescan_work [mei]
> <6> [308.565641]     pending: dbs_work_handler
> <6> [308.565686] pool 2: cpus=1 node=0 flags=0x0 nice=0 hung=0s workers=5
> idle: 2248 21 17 169
> 
> <6> [308.553788] Workqueue: events mei_cl_bus_rescan_work [mei] <4>
> [308.553792] Call Trace:
> <4> [308.553799]  ? __schedule+0x326/0x890 <4> [308.553808]
> schedule+0x2b/0xb0 <4> [308.553815]  mei_cl_write+0x430/0x5a0 [mei] <4>
> [308.553820]  ? __kmalloc+0x2b6/0x330 <4> [308.553824]  ?
> wait_woken+0xa0/0xa0 <4> [308.553835]  __mei_cl_send+0x1f4/0x240 [mei]
> <4> [308.553848]  mei_mkhi_fix+0x91/0x280 [mei] <4> [308.553859]
> mei_cl_bus_dev_fixup+0xba/0x100 [mei] <4> [308.553868]  ?
> device_add+0x156/0x670 <4> [308.553889]  ?
> mei_cl_bus_rescan_work+0x1bc/0x350 [mei] <4> [308.553896]
> mei_cl_bus_rescan_work+0x1bc/0x350 [mei] <4> [308.553905]
> process_one_work+0x245/0x5f0 <4> [308.553915]  worker_thread+0x37/0x380
> <4> [308.553921]  ? process_one_work+0x5f0/0x5f0 <4> [308.553924]
> kthread+0x119/0x130 <4> [308.553928]  ? kthread_park+0xa0/0xa0 <4>
> [308.553934]  ret_from_fork+0x3a/0x50
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Alexander Usyskin <alexander.usyskin@intel.com>
> Cc: Tomas Winkler <tomas.winkler@intel.com>
> ---
>  drivers/misc/mei/bus.c    |  9 +++++++--
>  drivers/misc/mei/client.c |  5 +++--
>  drivers/misc/mei/main.c   | 18 ++++++++++++++----
>  3 files changed, 24 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c index
> 985bd4fd3328..5b2db77d48db 100644
> --- a/drivers/misc/mei/bus.c
> +++ b/drivers/misc/mei/bus.c
> @@ -66,9 +66,10 @@ ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t
> length,
> 
>  	while (cl->tx_cb_queued >= bus->tx_queue_limit) {
>  		mutex_unlock(&bus->device_lock);
> -		rets = wait_event_interruptible(cl->tx_wait,
> +		rets = wait_event_interruptible_timeout(cl->tx_wait,
>  				cl->writing_state == MEI_WRITE_COMPLETE
> ||
> -				(!mei_cl_is_connected(cl)));
> +				!mei_cl_is_connected(cl),
> +				HZ);
>  		mutex_lock(&bus->device_lock);
>  		if (rets) {
>  			if (signal_pending(current))
> @@ -79,6 +80,10 @@ ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t
> length,
>  			rets = -ENODEV;
>  			goto out;
>  		}
> +		if (cl->writing_state != MEI_WRITE_COMPLETE) {
> +			rets = -EFAULT;
> +			goto out;
> +		}
>  	}
> 
>  	cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, NULL); diff --git
> a/drivers/misc/mei/client.c b/drivers/misc/mei/client.c index
> 1e3edbbacb1e..e7acc8aa9b15 100644
> --- a/drivers/misc/mei/client.c
> +++ b/drivers/misc/mei/client.c
> @@ -1767,9 +1767,10 @@ ssize_t mei_cl_write(struct mei_cl *cl, struct
> mei_cl_cb *cb)
>  	if (blocking && cl->writing_state != MEI_WRITE_COMPLETE) {
> 
>  		mutex_unlock(&dev->device_lock);
> -		rets = wait_event_interruptible(cl->tx_wait,
> +		rets = wait_event_interruptible_timeout(cl->tx_wait,
>  				cl->writing_state == MEI_WRITE_COMPLETE
> ||
> -				(!mei_cl_is_connected(cl)));
> +				!mei_cl_is_connected(cl),
> +				HZ);
>  		mutex_lock(&dev->device_lock);
>  		/* wait_event_interruptible returns -ERESTARTSYS */
>  		if (rets) {
> diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c index
> f894d1f8a53e..0eb7bfd89a90 100644
> --- a/drivers/misc/mei/main.c
> +++ b/drivers/misc/mei/main.c
> @@ -294,9 +294,10 @@ static ssize_t mei_write(struct file *file, const char
> __user *ubuf,
>  			goto out;
>  		}
>  		mutex_unlock(&dev->device_lock);
> -		rets = wait_event_interruptible(cl->tx_wait,
> +		rets = wait_event_interruptible_timeout(cl->tx_wait,
>  				cl->writing_state == MEI_WRITE_COMPLETE
> ||
> -				(!mei_cl_is_connected(cl)));
> +				!mei_cl_is_connected(cl),
> +				HZ);
>  		mutex_lock(&dev->device_lock);
>  		if (rets) {
>  			if (signal_pending(current))
> @@ -307,6 +308,10 @@ static ssize_t mei_write(struct file *file, const char
> __user *ubuf,
>  			rets = -ENODEV;
>  			goto out;
>  		}
> +		if (cl->writing_state != MEI_WRITE_COMPLETE) {
> +			rets = -EFAULT;
> +			goto out;
> +		}
>  	}
> 
>  	cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, file); @@ -658,9
> +663,10 @@ static int mei_fsync(struct file *fp, loff_t start, loff_t end, int
> datasync)
> 
>  	while (mei_cl_is_write_queued(cl)) {
>  		mutex_unlock(&dev->device_lock);
> -		rets = wait_event_interruptible(cl->tx_wait,
> +		rets = wait_event_interruptible_timeout(cl->tx_wait,
>  				cl->writing_state == MEI_WRITE_COMPLETE
> ||
> -				!mei_cl_is_connected(cl));
> +				!mei_cl_is_connected(cl),
> +				HZ);
>  		mutex_lock(&dev->device_lock);
>  		if (rets) {
>  			if (signal_pending(current))
> @@ -671,6 +677,10 @@ static int mei_fsync(struct file *fp, loff_t start, loff_t
> end, int datasync)
>  			rets = -ENODEV;
>  			goto out;
>  		}
> +		if (cl->writing_state != MEI_WRITE_COMPLETE) {
> +			rets = -EFAULT;
> +			goto out;
> +		}
>  	}
>  	rets = 0;
>  out:
> --
> 2.22.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH] mei: Abort writes if incomplete after 1s
  2019-07-23 11:25   ` Winkler, Tomas
  (?)
@ 2019-07-23 11:28   ` Chris Wilson
  2019-07-24  8:35     ` Usyskin, Alexander
  -1 siblings, 1 reply; 10+ messages in thread
From: Chris Wilson @ 2019-07-23 11:28 UTC (permalink / raw)
  To: Winkler, Tomas, intel-gfx; +Cc: linux-kernel, Usyskin, Alexander, C, Ramalingam

Quoting Winkler, Tomas (2019-07-23 12:25:14)
> > 
> > During i915 unload, it appears that it may get stuck waiting on a workqueue
> > being hogged by mei:
> 
> Thanks for the bug report, but this is not a proper fix, we will try to work it out.

Perfect :)

It's only happened a couple of times in the last week or so, but if you
want to throw patches at intel-gfx-trybot@lists.freedesktop.org to try
and grab more information, please feel free to.
-Chris

^ permalink raw reply	[flat|nested] 10+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for mei: Abort writes if incomplete after 1s
  2019-07-23 11:19 [PATCH] mei: Abort writes if incomplete after 1s Chris Wilson
  2019-07-23 11:25   ` Winkler, Tomas
@ 2019-07-23 12:30 ` Patchwork
  2019-07-23 12:54 ` ✓ Fi.CI.BAT: success " Patchwork
  2019-07-23 16:46 ` ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2019-07-23 12:30 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: mei: Abort writes if incomplete after 1s
URL   : https://patchwork.freedesktop.org/series/64073/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
96ad9d2ab876 mei: Abort writes if incomplete after 1s
-:10: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#10: 
<3> [308.544943] INFO: task i915_module_loa:2612 blocked for more than 61 seconds.

-:72: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#72: FILE: drivers/misc/mei/bus.c:70:
+		rets = wait_event_interruptible_timeout(cl->tx_wait,
 				cl->writing_state == MEI_WRITE_COMPLETE ||

-:100: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#100: FILE: drivers/misc/mei/client.c:1771:
+		rets = wait_event_interruptible_timeout(cl->tx_wait,
 				cl->writing_state == MEI_WRITE_COMPLETE ||

-:117: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#117: FILE: drivers/misc/mei/main.c:298:
+		rets = wait_event_interruptible_timeout(cl->tx_wait,
 				cl->writing_state == MEI_WRITE_COMPLETE ||

-:141: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#141: FILE: drivers/misc/mei/main.c:667:
+		rets = wait_event_interruptible_timeout(cl->tx_wait,
 				cl->writing_state == MEI_WRITE_COMPLETE ||

total: 0 errors, 1 warnings, 4 checks, 78 lines checked

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 10+ messages in thread

* ✓ Fi.CI.BAT: success for mei: Abort writes if incomplete after 1s
  2019-07-23 11:19 [PATCH] mei: Abort writes if incomplete after 1s Chris Wilson
  2019-07-23 11:25   ` Winkler, Tomas
  2019-07-23 12:30 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2019-07-23 12:54 ` Patchwork
  2019-07-23 16:46 ` ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2019-07-23 12:54 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: mei: Abort writes if incomplete after 1s
URL   : https://patchwork.freedesktop.org/series/64073/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6539 -> Patchwork_13723
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/

Known issues
------------

  Here are the changes found in Patchwork_13723 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_mmap_gtt@basic-small-copy:
    - fi-icl-u3:          [PASS][1] -> [DMESG-WARN][2] ([fdo#107724]) +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/fi-icl-u3/igt@gem_mmap_gtt@basic-small-copy.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/fi-icl-u3/igt@gem_mmap_gtt@basic-small-copy.html

  * igt@gem_mmap_gtt@basic-wc:
    - fi-bsw-kefka:       [PASS][3] -> [FAIL][4] ([fdo#107307])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/fi-bsw-kefka/igt@gem_mmap_gtt@basic-wc.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/fi-bsw-kefka/igt@gem_mmap_gtt@basic-wc.html

  * igt@i915_selftest@live_coherency:
    - fi-icl-dsi:         [PASS][5] -> [INCOMPLETE][6] ([fdo#107713])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/fi-icl-dsi/igt@i915_selftest@live_coherency.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/fi-icl-dsi/igt@i915_selftest@live_coherency.html

  
#### Possible fixes ####

  * igt@gem_mmap_gtt@basic-write-read:
    - fi-icl-u3:          [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/fi-icl-u3/igt@gem_mmap_gtt@basic-write-read.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/fi-icl-u3/igt@gem_mmap_gtt@basic-write-read.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-icl-guc:         [FAIL][9] ([fdo#103167]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/fi-icl-guc/igt@kms_frontbuffer_tracking@basic.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/fi-icl-guc/igt@kms_frontbuffer_tracking@basic.html

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#107307]: https://bugs.freedesktop.org/show_bug.cgi?id=107307
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724


Participating hosts (53 -> 45)
------------------------------

  Additional (1): fi-kbl-8809g 
  Missing    (9): fi-kbl-soraka fi-skl-guc fi-byt-squawks fi-bsw-cyan fi-kbl-guc fi-ctg-p8600 fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6539 -> Patchwork_13723

  CI-20190529: 20190529
  CI_DRM_6539: eb32ea98a6fe6d924f28f8b8f3ee43b9e56bf12e @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5107: 1a5b48671e0863cb723e3d0239e54c828360dc99 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13723: 96ad9d2ab876b125c60e20a138f093d4230ceffa @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

96ad9d2ab876 mei: Abort writes if incomplete after 1s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 10+ messages in thread

* ✓ Fi.CI.IGT: success for mei: Abort writes if incomplete after 1s
  2019-07-23 11:19 [PATCH] mei: Abort writes if incomplete after 1s Chris Wilson
                   ` (2 preceding siblings ...)
  2019-07-23 12:54 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-07-23 16:46 ` Patchwork
  3 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2019-07-23 16:46 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: mei: Abort writes if incomplete after 1s
URL   : https://patchwork.freedesktop.org/series/64073/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6539_full -> Patchwork_13723_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_13723_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_eio@in-flight-suspend:
    - shard-kbl:          [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +6 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-kbl2/igt@gem_eio@in-flight-suspend.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-kbl6/igt@gem_eio@in-flight-suspend.html

  * igt@gem_eio@reset-stress:
    - shard-snb:          [PASS][3] -> [FAIL][4] ([fdo#109661])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-snb1/igt@gem_eio@reset-stress.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-snb1/igt@gem_eio@reset-stress.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-kbl:          [PASS][5] -> [DMESG-WARN][6] ([fdo#108686])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-kbl4/igt@gem_tiled_swapping@non-threaded.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-kbl7/igt@gem_tiled_swapping@non-threaded.html

  * igt@kms_flip@2x-flip-vs-expired-vblank:
    - shard-glk:          [PASS][7] -> [FAIL][8] ([fdo#105363])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-glk8/igt@kms_flip@2x-flip-vs-expired-vblank.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-glk3/igt@kms_flip@2x-flip-vs-expired-vblank.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-iclb:         [PASS][9] -> [FAIL][10] ([fdo#103167]) +5 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
    - shard-skl:          [PASS][11] -> [INCOMPLETE][12] ([fdo#104108])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-skl9/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-skl2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html

  * igt@kms_psr@psr2_primary_render:
    - shard-iclb:         [PASS][13] -> [SKIP][14] ([fdo#109441])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-iclb2/igt@kms_psr@psr2_primary_render.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-iclb6/igt@kms_psr@psr2_primary_render.html

  * igt@kms_setmode@basic:
    - shard-apl:          [PASS][15] -> [FAIL][16] ([fdo#99912])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-apl1/igt@kms_setmode@basic.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-apl8/igt@kms_setmode@basic.html
    - shard-kbl:          [PASS][17] -> [FAIL][18] ([fdo#99912])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-kbl1/igt@kms_setmode@basic.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-kbl1/igt@kms_setmode@basic.html

  * igt@kms_vblank@pipe-b-ts-continuation-suspend:
    - shard-apl:          [PASS][19] -> [DMESG-WARN][20] ([fdo#108566])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-apl6/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-apl6/igt@kms_vblank@pipe-b-ts-continuation-suspend.html

  * igt@perf@blocking:
    - shard-skl:          [PASS][21] -> [FAIL][22] ([fdo#110728])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-skl8/igt@perf@blocking.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-skl4/igt@perf@blocking.html

  
#### Possible fixes ####

  * igt@gem_eio@in-flight-suspend:
    - shard-skl:          [INCOMPLETE][23] ([fdo#104108]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-skl7/igt@gem_eio@in-flight-suspend.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-skl9/igt@gem_eio@in-flight-suspend.html

  * igt@gem_softpin@noreloc-s3:
    - shard-apl:          [DMESG-WARN][25] ([fdo#108566]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-apl1/igt@gem_softpin@noreloc-s3.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-apl8/igt@gem_softpin@noreloc-s3.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-glk:          [DMESG-WARN][27] ([fdo#108686]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-glk5/igt@gem_tiled_swapping@non-threaded.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-glk4/igt@gem_tiled_swapping@non-threaded.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [DMESG-WARN][29] ([fdo#108566]) -> [PASS][30] +6 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
    - shard-hsw:          [FAIL][31] ([fdo#105767]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-hsw5/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@cursor-vs-flip-varying-size:
    - shard-apl:          [INCOMPLETE][33] ([fdo#103927]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-apl3/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-apl5/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-skl:          [FAIL][35] ([fdo#105363]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-skl7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
    - shard-iclb:         [FAIL][37] ([fdo#103167]) -> [PASS][38] +5 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [FAIL][39] ([fdo#108145]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-skl5/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-skl8/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
    - shard-iclb:         [FAIL][41] ([fdo#103166]) -> [PASS][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-iclb5/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-iclb7/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * igt@kms_psr@psr2_primary_mmap_gtt:
    - shard-iclb:         [SKIP][43] ([fdo#109441]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6539/shard-iclb4/igt@kms_psr@psr2_primary_mmap_gtt.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html

  
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109661]: https://bugs.freedesktop.org/show_bug.cgi?id=109661
  [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (9 -> 9)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6539 -> Patchwork_13723

  CI-20190529: 20190529
  CI_DRM_6539: eb32ea98a6fe6d924f28f8b8f3ee43b9e56bf12e @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5107: 1a5b48671e0863cb723e3d0239e54c828360dc99 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13723: 96ad9d2ab876b125c60e20a138f093d4230ceffa @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13723/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH] mei: Abort writes if incomplete after 1s
  2019-07-23 11:28   ` Chris Wilson
@ 2019-07-24  8:35     ` Usyskin, Alexander
  2019-07-24  8:53         ` Chris Wilson
  0 siblings, 1 reply; 10+ messages in thread
From: Usyskin, Alexander @ 2019-07-24  8:35 UTC (permalink / raw)
  To: Chris Wilson, Winkler, Tomas; +Cc: linux-kernel, C, Ramalingam, intel-gfx

> -----Original Message-----
> From: Chris Wilson [mailto:chris@chris-wilson.co.uk]
> Sent: Tuesday, July 23, 2019 14:29
> To: Winkler, Tomas <tomas.winkler@intel.com>; intel-
> gfx@lists.freedesktop.org
> Cc: linux-kernel@vger.kernel.org; Usyskin, Alexander
> <alexander.usyskin@intel.com>; C, Ramalingam <ramalingam.c@intel.com>
> Subject: RE: [PATCH] mei: Abort writes if incomplete after 1s
> 
> Quoting Winkler, Tomas (2019-07-23 12:25:14)
> > >
> > > During i915 unload, it appears that it may get stuck waiting on a
> > > workqueue being hogged by mei:
> >
> > Thanks for the bug report, but this is not a proper fix, we will try to work it out.
> 
> Perfect :)
> 
> It's only happened a couple of times in the last week or so, but if you want to
> throw patches at intel-gfx-trybot@lists.freedesktop.org to try and grab more
> information, please feel free to.
> -Chris

Do you have full dmesg from affected system?

Thanks
--
Sasha



^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH] mei: Abort writes if incomplete after 1s
  2019-07-24  8:35     ` Usyskin, Alexander
@ 2019-07-24  8:53         ` Chris Wilson
  0 siblings, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2019-07-24  8:53 UTC (permalink / raw)
  To: Usyskin, Alexander, Winkler, Tomas; +Cc: linux-kernel, C, Ramalingam, intel-gfx

[-- Attachment #1: Type: text/plain, Size: 1618 bytes --]

Quoting Usyskin, Alexander (2019-07-24 09:35:13)
> > -----Original Message-----
> > From: Chris Wilson [mailto:chris@chris-wilson.co.uk]
> > Sent: Tuesday, July 23, 2019 14:29
> > To: Winkler, Tomas <tomas.winkler@intel.com>; intel-
> > gfx@lists.freedesktop.org
> > Cc: linux-kernel@vger.kernel.org; Usyskin, Alexander
> > <alexander.usyskin@intel.com>; C, Ramalingam <ramalingam.c@intel.com>
> > Subject: RE: [PATCH] mei: Abort writes if incomplete after 1s
> > 
> > Quoting Winkler, Tomas (2019-07-23 12:25:14)
> > > >
> > > > During i915 unload, it appears that it may get stuck waiting on a
> > > > workqueue being hogged by mei:
> > >
> > > Thanks for the bug report, but this is not a proper fix, we will try to work it out.
> > 
> > Perfect :)
> > 
> > It's only happened a couple of times in the last week or so, but if you want to
> > throw patches at intel-gfx-trybot@lists.freedesktop.org to try and grab more
> > information, please feel free to.
> > -Chris
> 
> Do you have full dmesg from affected system?

Attached, plus a few more recent hits.

https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6543/fi-blb-e6850/igt@i915_module_load@reload.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6537/fi-blb-e6850/igt@i915_module_load@reload.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6516/fi-blb-e6850/igt@i915_module_load@reload.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6480/fi-blb-e6850/igt@i915_module_load@reload.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6457/fi-blb-e6850/igt@i915_module_load@reload.html

Hope that helps,
-chris

[-- Attachment #2: dmesg.xz --]
[-- Type: application/x-xz, Size: 219240 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] mei: Abort writes if incomplete after 1s
@ 2019-07-24  8:53         ` Chris Wilson
  0 siblings, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2019-07-24  8:53 UTC (permalink / raw)
  To: Usyskin, Alexander, Winkler, Tomas; +Cc: intel-gfx, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1618 bytes --]

Quoting Usyskin, Alexander (2019-07-24 09:35:13)
> > -----Original Message-----
> > From: Chris Wilson [mailto:chris@chris-wilson.co.uk]
> > Sent: Tuesday, July 23, 2019 14:29
> > To: Winkler, Tomas <tomas.winkler@intel.com>; intel-
> > gfx@lists.freedesktop.org
> > Cc: linux-kernel@vger.kernel.org; Usyskin, Alexander
> > <alexander.usyskin@intel.com>; C, Ramalingam <ramalingam.c@intel.com>
> > Subject: RE: [PATCH] mei: Abort writes if incomplete after 1s
> > 
> > Quoting Winkler, Tomas (2019-07-23 12:25:14)
> > > >
> > > > During i915 unload, it appears that it may get stuck waiting on a
> > > > workqueue being hogged by mei:
> > >
> > > Thanks for the bug report, but this is not a proper fix, we will try to work it out.
> > 
> > Perfect :)
> > 
> > It's only happened a couple of times in the last week or so, but if you want to
> > throw patches at intel-gfx-trybot@lists.freedesktop.org to try and grab more
> > information, please feel free to.
> > -Chris
> 
> Do you have full dmesg from affected system?

Attached, plus a few more recent hits.

https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6543/fi-blb-e6850/igt@i915_module_load@reload.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6537/fi-blb-e6850/igt@i915_module_load@reload.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6516/fi-blb-e6850/igt@i915_module_load@reload.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6480/fi-blb-e6850/igt@i915_module_load@reload.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6457/fi-blb-e6850/igt@i915_module_load@reload.html

Hope that helps,
-chris

[-- Attachment #2: dmesg.xz --]
[-- Type: application/x-xz, Size: 219240 bytes --]

[-- Attachment #3: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-07-24  8:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-23 11:19 [PATCH] mei: Abort writes if incomplete after 1s Chris Wilson
2019-07-23 11:25 ` Winkler, Tomas
2019-07-23 11:25   ` Winkler, Tomas
2019-07-23 11:28   ` Chris Wilson
2019-07-24  8:35     ` Usyskin, Alexander
2019-07-24  8:53       ` Chris Wilson
2019-07-24  8:53         ` Chris Wilson
2019-07-23 12:30 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2019-07-23 12:54 ` ✓ Fi.CI.BAT: success " Patchwork
2019-07-23 16:46 ` ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.