Page MenuHomeFreeBSD

cxgbe: Add a struct sge_ofld_txq type.
ClosedPublic

Authored by jhb on Mar 22 2021, 10:44 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 3, 5:15 PM
Unknown Object (File)
Mar 3 2024, 9:57 PM
Unknown Object (File)
Jan 13 2024, 10:07 PM
Unknown Object (File)
Dec 12 2023, 1:21 PM
Unknown Object (File)
Dec 11 2023, 11:18 AM
Unknown Object (File)
Dec 8 2023, 5:30 PM
Unknown Object (File)
Dec 8 2023, 5:30 PM
Unknown Object (File)
Dec 8 2023, 5:30 PM
Subscribers

Details

Summary

This type mirrors struct sge_ofld_rxq and holds state for TCP offload
transmit queues. Currently it only holds a work queue but will
include additional state in future changes.

Sponsored by: Chelsio Communications

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 38072
Build 34961: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Mar 22 2021, 10:44 PM
  • Add alloc/free_ofld_txq() routines.

The offload tx queues are also used for RATELIMIT tx and we should either set cxgbe_rate_tag->eo_txq to ofld_txq->wrq in ethofld_transmit or change eo_txq to be a sge_ofld_txq.

np requested changes to this revision.Mar 25 2021, 5:17 AM

There's also this in t4_main.c that needs to be updated to sizeof(struct sge_ofld_txq):

s->ofld_txq = malloc(s->nofldtxq * sizeof(struct sge_wrq),  M_CXGBE, M_ZERO | M_WAITOK);
This revision now requires changes to proceed.Mar 25 2021, 5:17 AM
  • Fix with RATELIMIT and malloc size.
sys/dev/cxgbe/t4_main.c
1334

Using 'sizeof(*s->ofld_txq)' here instead of the type would perhaps have been more future proof.

sys/dev/cxgbe/t4_sge.c
6447

I changed the type of cst->eo_txq so that this line would still work (and it also seemed more natural for eo_txq to point to the actual txq rather than just the embedded wrq).

This revision is now accepted and ready to land.Mar 25 2021, 10:37 PM

Let's land this if it's ready.

This revision was automatically updated to reflect the committed changes.