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)
Thu, May 9, 11:04 AM
Unknown Object (File)
Mon, May 6, 4:16 PM
Unknown Object (File)
Sun, May 5, 8:02 PM
Unknown Object (File)
Sun, May 5, 12:19 PM
Unknown Object (File)
Sun, May 5, 2:27 AM
Unknown Object (File)
Thu, May 2, 11:25 AM
Unknown Object (File)
Wed, May 1, 11:36 PM
Unknown Object (File)
Sat, Apr 27, 5:09 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.

1931

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.