Messages in this thread |  | | From | Dipayaan Roy <> | | Subject | [PATCH net-next v6 0/2] net: mana: add ethtool private flag for full-page RX buffers | | Date | Tue, 7 Apr 2026 12:59:17 -0700 |
| |
On some ARM64 platforms with 4K PAGE_SIZE, utilizing page_pool fragments for allocation in the RX refill path (~2kB buffer per fragment) causes 15-20% throughput regression under high connection counts (>16 TCP streams at 180+ Gbps). Using full-page buffers on these platforms shows no regression and restores line-rate performance.
This behavior is observed on a single platform; other platforms perform better with page_pool fragments, indicating this is not a page_pool issue but platform-specific.
This series adds an ethtool private flag "full-page-rx" to let the user opt in to one RX buffer per page:
ethtool --set-priv-flags eth0 full-page-rx on
There is no behavioral change by default. The flag can be persisted via udev rule for affected platforms.
Changes in v6: - Added missed maintainers. Changes in v5: - Split prep refactor into separate patch (patch 1/2) Changes in v4: - Dropping the smbios string parsing and add ethtool priv flag to reconfigure the queues with full page rx buffers. Changes in v3: - changed u8* to char* Changes in v2: - separate reading string index and the string, remove inline.
Dipayaan Roy (2): net: mana: refactor mana_get_strings() and mana_get_sset_count() to use switch net: mana: force full-page RX buffers via ethtool private flag
drivers/net/ethernet/microsoft/mana/mana_en.c | 22 ++- .../ethernet/microsoft/mana/mana_ethtool.c | 164 ++++++++++++++---- include/net/mana/mana.h | 8 + 3 files changed, 163 insertions(+), 31 deletions(-)
-- 2.43.0
|  |