Skip to content

Commit

Permalink
nfit: scrub and register regions in a workqueue
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Dan Williams committed Mar 5, 2016
1 parent 7ae0fa4 commit 1cf03c0
Show file tree
Hide file tree
Showing 2 changed files with 371 additions and 174 deletions.
Loading

0 comments on commit 1cf03c0

Please sign in to comment.