diff mbox

[BISECTED,REGRESSION] Hang while booting EeePC 900

Message ID 20180402202951.GE388343@devbig577.frc2.facebook.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tejun Heo April 2, 2018, 8:29 p.m. UTC
Hello, Sitsofe.

Can you see whether the following patch makes any difference?

Thanks.

Comments

Sitsofe Wheeler April 2, 2018, 9:02 p.m. UTC | #1
Hi Tejun,

On 2 April 2018 at 21:29, Tejun Heo <tj@kernel.org> wrote:
>
> Can you see whether the following patch makes any difference?
>
> Thanks.
>
> diff --git a/block/blk-timeout.c b/block/blk-timeout.c
> index a05e367..f0e6e41 100644
> --- a/block/blk-timeout.c
> +++ b/block/blk-timeout.c
> @@ -165,7 +165,7 @@ void blk_abort_request(struct request *req)
>                  * No need for fancy synchronizations.
>                  */
>                 blk_rq_set_deadline(req, jiffies);
> -               mod_timer(&req->q->timeout, 0);
> +               kblockd_schedule_work(&req->q->timeout_work);
>         } else {
>                 if (blk_mark_rq_complete(req))
>                         return;

That patch seems to fix the issue.
Sitsofe Wheeler April 5, 2018, 8:14 a.m. UTC | #2
On 2 April 2018 at 21:29, Tejun Heo <tj@kernel.org> wrote:
> Hello, Sitsofe.
>
> Can you see whether the following patch makes any difference?
>
> Thanks.
>
> diff --git a/block/blk-timeout.c b/block/blk-timeout.c
> index a05e367..f0e6e41 100644
> --- a/block/blk-timeout.c
> +++ b/block/blk-timeout.c
> @@ -165,7 +165,7 @@ void blk_abort_request(struct request *req)
>                  * No need for fancy synchronizations.
>                  */
>                 blk_rq_set_deadline(req, jiffies);
> -               mod_timer(&req->q->timeout, 0);
> +               kblockd_schedule_work(&req->q->timeout_work);
>         } else {
>                 if (blk_mark_rq_complete(req))
>                         return;

Just out of interest, does the fact that an abort occurs mean that the
hardware is somehow broken or badly behaved?
Tejun Heo April 5, 2018, 2:42 p.m. UTC | #3
Hello,

On Thu, Apr 05, 2018 at 09:14:15AM +0100, Sitsofe Wheeler wrote:
> Just out of interest, does the fact that an abort occurs mean that the
> hardware is somehow broken or badly behaved?

Not really.  For example, ATAPI devices depend on exception handling
to fetch sense data as a part of normal operation which is handled by
libata exception handler which is invoked by aborting the original
command.  So, exception handling can often be a part of normal
operation.

Thanks.
diff mbox

Patch

diff --git a/block/blk-timeout.c b/block/blk-timeout.c
index a05e367..f0e6e41 100644
--- a/block/blk-timeout.c
+++ b/block/blk-timeout.c
@@ -165,7 +165,7 @@  void blk_abort_request(struct request *req)
 		 * No need for fancy synchronizations.
 		 */
 		blk_rq_set_deadline(req, jiffies);
-		mod_timer(&req->q->timeout, 0);
+		kblockd_schedule_work(&req->q->timeout_work);
 	} else {
 		if (blk_mark_rq_complete(req))
 			return;