I will be presenting on this topic at LSF/MM/BPF this year, in the IO track.

Here's an introduction for my talk.

DMMP currently supports two different kernel IO interfaces: the BIO 
interface[1] (struct bio) and the Request interface[2] (struct request).
By default DMMP uses the Request interface and over the years much work has 
been done test and improve the performance of the DMMP Request
interface. DMMP can also be manually configured to use the BIO interface. The 
DMMP BIO interface is supported but little work has been done
to test and improve its performance. DMMP is currently the only upstream 
component which continues to use the Request interface for submitting IO.

At the ALPSS 2024 conference last October we discussed the possibility of 
deprecating and eventually removing support the Request interface
as kernel API. Such a change could impact DMMP so I was asked if Red Hat would 
be willing to support the effort by measuring the performance
of DMMP's BIO interface[3] and comparing it to its Request based performance. 
Having such a comparative performance analysis would be very helpful
in determining what further changes might be needed to move DMMP away from 
using the Request interface. This would help with the overall effort
to improve BIO interface performance and eventually remove support for Request 
based IO as a kernel API.

In this presentation I will share the preliminary results of Red Hat's DMMP BIO 
vs Request performance tests[4] and discuss what the next possible
steps could be for moving forward.

The tests and performance graphs in this presentation were developed and run by 
Samuel Petrovic <spetr...@redhat.com>.
Credit goes to Samuel for creating these performance tests and many thanks to 
Benjamin Marzinski <bmarz...@redhat.com>,
Mikulas Patocka <mpato...@redhat.com> and others on the Red Hat DMMP and 
Performance teams who contributed to this work.

[1] https://lwn.net/Articles/736534/
[2] https://lwn.net/Articles/738449/
[3] 
https://lore.kernel.org/linux-scsi/643e61a8-b0cb-4c9d-831a-879aa86d8...@redhat.com
[4] https://people.redhat.com/jmeneghi/LSFMM_2025/DMMP_BIOvsRequest/

--
John A. Meneghini
Senior Principal Platform Storage Engineer
RHEL SST - Platform Storage Group
jmene...@redhat.com


Reply via email to