Page MenuHomeFreeBSD

[RFC] gve: Add DQO RDA support
Needs ReviewPublic

Authored by shailend_google.com on Tue, Sep 17, 6:54 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Sep 19, 3:25 PM
Unknown Object (File)
Thu, Sep 19, 5:48 AM
Unknown Object (File)
Thu, Sep 19, 5:48 AM
Unknown Object (File)
Thu, Sep 19, 5:35 AM
Unknown Object (File)
Wed, Sep 18, 6:47 PM
Unknown Object (File)
Tue, Sep 17, 9:44 PM
Subscribers

Details

Reviewers
markj
emaste
delphij
lwhsu
kibab
Group Reviewers
network
Summary

DQO is the descriptor format for our next generation virtual NIC.
It is necessary to make full use of the hardware bandwidth on many
newer GCP VM shapes.

One major change with DQO from its predecessor GQI is that it uses
dual descriptor rings for both TX and RX queues.

The TX path uses a descriptor ring to send descriptors to HW, and
receives packet completion events on a TX completion ring.

The RX path posts buffers to HW using an RX descriptor ring and
receives incoming packets on an RX completion ring.

In GQI-QPL, the hardware could not access arbitrary regions of
guest memory, which is why there was a pre-negotitated bounce buffer
(QPL: Queue Page List). DQO-RDA has no such limitation.

"RDA" is in contrast to QPL and stands for "Raw DMA Addressing" which
just means that HW does not need a fixed bounce buffer and can DMA
arbitrary regions of guest memory.

A subsequent patch will introduce the DQO-QPL datapath that uses the
same descriptor format as in this patch, but will have a fixed
bounce buffer.

Signed-off-by: Shailend Chand <shailend@google.com>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 59514
Build 56401: arc lint + arc unit