Introduce DM_KCOPYD_EARLY_CALLBACK flag that targets may set when
calling dm_kcopyd_copy(). When DM_KCOPYD_EARLY_CALLBACK is set the
completion is called from the interrupt context instead of process
context.
This change doesn't increase interrupts, it just handles completion
early without having to finish doing so in process context. Similar
changes were done to improve latency in dm-crypt recently (to avoid
workqueues and complete in interrupt context).
Update both the DM thinp and cache targets to use this flag to reduce
IO latency.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>