Whamcloud - gitweb
EX-5014 pcc: Add dio support for data copy during attach
PCC attach performance is bottlenecked by single threaded
buffered I/O performance. We could do multi-threading, but
multi-threaded buffered I/O to one file has a very low
performance ceiling. In order to significantly speed up
PCC attach performance, we need to switch to DIO.
DIO cannot be done from kernel memory due to various
restrictions, so we call out to a usermode helper.
Note that the helper uses open by fid because given a
file pointer, it's not possible to reliably generate the
path to a file on Lustre due to container namespace issues.
Specifically, the path used by the user may not work for
our helper program due to namespace differences. So we
must use open by fid for the Lustre side of the copy.
This patch improves attach performance from about 1 GiB/s
to about 5 GiB/s. This performance figure includes time to
read the data from Lustre *and* to write it out to PCC.
Temporarily disable sanity-pcc/45 until the deadlock problem is
fixed.
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Idb2a12296c3e4778763c9b576bbb0ecd2570a458
Reviewed-on: https://review.whamcloud.com/47158
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>