Page MenuHomeFreeBSD

arm64: Use only required ordering for coherent dma
Needs ReviewPublic

Authored by gallatin on Mon, Sep 28, 5:48 PM.
Tags
None
Referenced Files
F173971938: D60099.diff
Tue, Sep 29, 5:36 PM
F173951812: D60099.id187908.diff
Tue, Sep 29, 2:44 PM
F173950873: D60099.diff
Tue, Sep 29, 2:32 PM
F173858601: D60099.id187908.diff
Mon, Sep 28, 10:53 PM
F173854486: D60099.id187908.diff
Mon, Sep 28, 10:19 PM
F173854085: D60099.diff
Mon, Sep 28, 10:15 PM
F173848020: D60099.diff
Mon, Sep 28, 9:16 PM
Subscribers

Details

Summary

Dsb(sy) carries a huge amount of overhead.. This seems like overkill for
coherent DMA. Replace it with dmb(oshld)/dmb(oshst)

This saves about 1.5% CPU on my tiny N1 setup serving 80Gb/s of Netflix traffic.

Note this depends on D60098 to apply.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

I think the dmb instructions are correct even for the non-coherent case