Page MenuHomeFreeBSD

sfxge(4): avoid unnecessary mbuf data prefetch
ClosedPublic

Authored by arybchik on Jan 10 2017, 8:28 AM.
Tags
None
Referenced Files
F101322702: D9120.diff
Sun, Oct 27, 7:23 PM
Unknown Object (File)
Wed, Oct 2, 4:41 PM
Unknown Object (File)
Sep 26 2024, 7:22 AM
Unknown Object (File)
Sep 26 2024, 7:22 AM
Unknown Object (File)
Sep 26 2024, 6:48 AM
Unknown Object (File)
Sep 25 2024, 12:55 PM
Unknown Object (File)
Sep 23 2024, 6:33 PM
Unknown Object (File)
Sep 23 2024, 4:48 PM
Subscribers

Details

Summary

Unnecessary prefetch just loads HW prefetcher and displaces other
cache entries (which could be really useful).

If we parse mbuf for TSO early and use firmware-assisted TSO, we do not
expect mbuf data access when we compose firmware-assisted TSO (v1 or v2)
option descriptors. If packet header needs to be linearized or finally
FATSO cannot be used because of, for example, too big header, we do not
care about a bit more performance degradation because of prefetch
absence (it is better to optimize more common case).

Sponsored by: Solarflare Communications, Inc.

Test Plan

sfxge module build tested, module loaded, interface up, traffic works fine

Diff Detail

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

Event Timeline

arybchik retitled this revision from to sfxge(4): avoid unnecessary mbuf data prefetch.
arybchik updated this object.
arybchik edited the test plan for this revision. (Show Details)
arybchik added reviewers: gnn, philip, np, bz.
gnn edited edge metadata.
This revision is now accepted and ready to land.Jan 10 2017, 3:14 PM
This revision was automatically updated to reflect the committed changes.