Hi Mike, Please find an updated version of HST integrating the change you requested to also support BIO based multipath. I hope you don't mind me folding the function you implemented into patch 2. If you prefer, I can integrate a patch you provide into the series. One interesting data point is that the selection performance on BIO-based is worse when compared to request-based. I tested a bit and I believe the reason is that the paths are more sticky because the bucket is too large, and it takes longer for HST to detect differences. By changing the bucket_size indirectly through the bucket_shift, the bio-based multipath performance improved, but I'm not sure this is a knob we want to expose to users. For now, please consider the patches below, for review. By the way, the exercise to support bio-based mpath uncovered the mpath initialization bug that I fixed in the previous patch I sent today, so it was worth it. Gabriel Krisman Bertazi (2): md: multipath: Encapsulate parameters passed to selectors md: multipath: Pass io_start_time to the path selector Khazhismel Kumykov (1): md: Add Historical Service Time Path Selector drivers/md/Kconfig | 11 + drivers/md/Makefile | 1 + drivers/md/dm-historical-service-time.c | 561 ++++++++++++++++++++++++ drivers/md/dm-mpath.c | 30 +- drivers/md/dm-path-selector.h | 9 +- drivers/md/dm-queue-length.c | 4 +- drivers/md/dm-service-time.c | 8 +- drivers/md/dm.c | 10 + include/linux/device-mapper.h | 2 + 9 files changed, 623 insertions(+), 13 deletions(-) create mode 100644 drivers/md/dm-historical-service-time.c -- 2.26.2 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel