[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.SOC.1.00.1205311203530.29083@math.ut.ee>
Date: Thu, 31 May 2012 12:05:15 +0300 (EEST)
From: mroos@...ux.ee
To: Dan Williams <dan.j.williams@...el.com>
cc: linux-kernel@...r.kernel.org, linux-scsi@...r.kernel.org,
JBottomley@...allels.com
Subject: Re: [PATCH v2 0/4] fix / cleanup async scsi scanning
> Commit a7a20d10 "[SCSI] sd: limit the scope of the async probe domain"
> introduces a boot regression by moving sd probe work off of the global
> async queue. Using a local async domain hides the probe work from being
> synchronized by wait_for_device_probe()->async_synchronize_full().
>
> Fix this by teaching async_synchronize_full() to flush all async work
> regardless of domain, and take the opportunity to convert scsi scanning
> to async_schedule(). This enables wait_for_device_probe() to flush scsi
> scanning work.
>
> Changes since v1: http://marc.info/?l=linux-scsi&m=133793153025832&w=2
>
> 1/ Tested to fix the boot hang that Meelis reported with v1. Reworked
> async_synchronize_full() to walk through all the active domains,
> otherwise we spin on !list_empty(async_domains) and prevent the async
> context from running.
>
> 2/ Added the ability for domains to opt-out of global syncing as
> requested by Arjan, but also needed for domains that don't want to worry
> about list corruption when the domain goes out of scope (stack-allocated
> domains).
Tested successfully on my Netra X1 where the original problem happened,
on top of 3.4.0-08215-g1e2aec8. Thank you!
--
Meelis Roos (mroos@...ux.ee)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists