Page MenuHomeFreeBSD

hyperv/stor: Refactor storvsc by applying BUS_DMA for CAM_DATA_BIO
ClosedPublic

Authored by honzhan_microsoft.com on Jul 12 2016, 8:38 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jun 20, 3:25 PM
Unknown Object (File)
Tue, Jun 17, 7:17 PM
Unknown Object (File)
Sun, Jun 15, 3:21 PM
Unknown Object (File)
Sat, Jun 14, 4:41 AM
Unknown Object (File)
Jun 5 2025, 9:24 PM
Unknown Object (File)
Jun 5 2025, 9:05 PM
Unknown Object (File)
May 26 2025, 6:25 AM
Unknown Object (File)
May 23 2025, 9:17 AM

Details

Summary

This fix targets to clean the storage code with BUS_DMA interface.
In addition, this can improve the performance 1.35X ~ 2.35x for FIO on hyperv.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

honzhan_microsoft.com retitled this revision from to hyperv/stor: Refactor storvsc by applying BUS_DMA for CAM_DATA_BIO.
honzhan_microsoft.com updated this object.
sepherosa_gmail.com edited edge metadata.

Look fine. Some minors.

sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
1053

Destroy the map; though it should be no-op in this case. And the maps could also be destroyed on storvsc_detach path.

1927

Pass BUS_DMA_NOWAIT as the flag, since the code here assumes the direct running of the callback. And check the return value of bus_dmamap_load_ccb, even though it should not fail here, since no bounce pages will be needed; better safe than sorry.

This revision is now accepted and ready to land.Jul 12 2016, 9:20 AM
This revision now requires review to proceed.Jul 13 2016, 5:02 AM
This revision is now accepted and ready to land.Jul 13 2016, 8:42 AM
This revision was automatically updated to reflect the committed changes.