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
F81656407: D7195.id18365.diff
Fri, Apr 19, 1:31 PM
Unknown Object (File)
Thu, Apr 18, 12:03 AM
Unknown Object (File)
Mar 19 2024, 10:24 PM
Unknown Object (File)
Mar 19 2024, 10:24 PM
Unknown Object (File)
Mar 18 2024, 12:04 PM
Unknown Object (File)
Mar 16 2024, 7:12 AM
Unknown Object (File)
Mar 16 2024, 7:12 AM
Unknown Object (File)
Mar 16 2024, 7:12 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.