RHEL 8.4 virtual USB reading at 1/32 normal speed

Latest response

I installed RHEL 8.4 on an HPE DL-325 server, attached an ISO via the iLO Virtual Media option, mounted it, did a "cat my-6GB-file >/dev/null" and then used iostat -p to watch the read performance. The performance is terrible, around 256 Kbytes/second, when it should be up to 8 MBytes/sec.

There are many strange things in this config. These only occur with RHEL 8.4, I have tried RHEL 8.3, centos 8.3 on installed on the same server, all can read the USB at full speed.

Look at the strange mount command output, there are two lines for the single ISO for devices sr0 and sr1. There is no /dev/sr0 device, nor is there a /dev/cdrom symlink. There is a sr1 device, but on other systems it is always sr0.

root@delphi-m002 11:1]# mount | grep usb
/dev/sr0 on /mnt/usb type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
/dev/sr1 on /mnt/usb type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)

The kernel modules are different as well on RHEL 8.4 as compared to the other systems. Normally 'sr_mod' is the only kernel module for the USB, but this is what I see on RHEL 8.4:

[root@delphi-m002 11:1]# lsmod | grep sr_mod
sr_mod 28672 2
cdrom 65536 2 isofs,sr_mod

I suspect this 'isofs' entry is somehow related to the poor performance.

Does anyone have any ideas on what is happening here, and how to change the config to get back to normal performance behavior?

Responses

HPE released an advisory: https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-a00118452en_us

BZ tracks the engineering work between HPE and Red Hat : https://bugzilla.redhat.com/show_bug.cgi?id=1972139

Thanks much!