aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/nvdimm
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2016-02-17 13:01:23 -0800
committerDan Williams <dan.j.williams@intel.com>2016-03-05 12:24:06 -0800
commit1cf03c00e7c17d3cf13a267dac83b3162a16ba8c (patch)
treefc9c7c5046b7f3ed08c7e8ca99673e29ea6023d3 /drivers/nvdimm
parentnfit, libnvdimm: async region scrub workqueue (diff)
downloadlinux-dev-1cf03c00e7c17d3cf13a267dac83b3162a16ba8c.tar.xz
linux-dev-1cf03c00e7c17d3cf13a267dac83b3162a16ba8c.zip
nfit: scrub and register regions in a workqueue
Address range scrub is a potentially long running process that we want to complete before any pmem regions are registered. Perform this operation asynchronously to allow other drivers to load in the meantime. Platform firmware may have initiated a partial scrub prior to the driver loading, so we must be careful to consume those results before kicking off kernel initiated scrubs on other regions. This rework also makes the registration path more tolerant of scrub errors in that it splits scrubbing into 2 phases. The first phase synchronously waits for a platform-firmware initiated scrub to complete. The second phase scans the remaining address ranges asynchronously and notifies the related driver(s) when the scrub completes. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/nvdimm')
0 files changed, 0 insertions, 0 deletions