Page MenuHomeFreeBSD

ena: Support max large LLQ depth from the device
Needs ReviewPublic

Authored by osamaabb_amazon.com on Aug 20 2024, 8:47 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Oct 1, 9:10 PM
Unknown Object (File)
Oct 1 2024, 1:51 PM
Unknown Object (File)
Sep 19 2024, 5:29 PM
Unknown Object (File)
Sep 19 2024, 2:55 PM
Unknown Object (File)
Sep 19 2024, 6:05 AM
Unknown Object (File)
Sep 18 2024, 5:01 AM
Unknown Object (File)
Sep 18 2024, 2:43 AM
Unknown Object (File)
Sep 17 2024, 9:05 AM
Subscribers

Details

Reviewers
cperciva
Summary

Large LLQ depth size is currently calculated by dividing the maximum
possible size of LLQ by 2.
In newer paltforms, starting from r8g the size of BAR2,
which contains LLQ, will be increased, and the maximum depth of
wide LLQ will be set according to a value set by the device, instead of
hardcoded division by 2.

The new value will be stored by the device in max_wide_llq_depth field
for drivers that expose ENA_ADMIN_LLQ_FEATURE_VERSION_1 or higher to
the device.

There is an assumption that max_llq_depth >= max_wide_llq_depth, since
they both use the same bar, and if it is possible to have a wide LLQ
of size max_wide_llq_depth, it is possible to have a normal LLQ of the
same size, since it will occupy half of the space.

Also moved the large LLQ case calculation of max_tx_queue_size
before its rounddown.

Approved by: cperciva
MFC after: 2 weeks
Sponsored by: Amazon, Inc.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 59100
Build 55987: arc lint + arc unit