[feature] Tuning receive (TX) and transmit (RX) buffers on NICs

Bug #1854836 reported by David Coronel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Invalid
Undecided
Unassigned

Bug Description

This is a feature request to support tuning receive (TX) and transmit (RX) buffers for network interfaces from MAAS.

I have a use case currently where I’m using MAAS and Juju to deploy OpenStack on top of servers that have Mellanox MT27710 ConnectX-4 Lx NICs. After some performance tests, I found that raising the RX and TX ring sizes of the Mellanox NICs offered better performance and less packet drops. I set the RX and TX sizes with:

sudo ethtool -G <nic> rx 8192 tx 8192

I was trying to find the best way to configure this so that it survives reboots and redeploys. I ended up adding a script to cloudinit-userdata in the Juju model defaults that adds a systemd service on each deployed node that runs those commands at each boot.

This is a request to support changing these parameters directly from MAAS, just like we can configure MTU settings.

[Additional Info]

From lspci -v:

3b:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
        Subsystem: Super Micro Computer Inc MT27710 Family [ConnectX-4 Lx]
        Flags: bus master, fast devsel, latency 0, IRQ 799, NUMA node 0
        Memory at 38bffa000000 (64-bit, prefetchable) [size=32M]
        Expansion ROM at b8500000 [disabled] [size=1M]
        Capabilities: [60] Express Endpoint, MSI 00
        Capabilities: [48] Vital Product Data
        Capabilities: [9c] MSI-X: Enable+ Count=64 Masked-
        Capabilities: [c0] Vendor Specific Information: Len=18 <?>
        Capabilities: [40] Power Management version 3
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [150] Alternative Routing-ID Interpretation (ARI)
        Capabilities: [180] Single Root I/O Virtualization (SR-IOV)
        Capabilities: [230] Access Control Services
        Kernel driver in use: mlx5_core
        Kernel modules: mlx5_core

$ sudo ethtool -G enp59s1f0 rx 8192 tx 8192

$ sudo ethtool -g enp59s1f0
Ring parameters for enp59s1f0:
Pre-set maximums:
RX: 8192
RX Mini: 0
RX Jumbo: 0
TX: 8192
Current hardware settings:
RX: 8192 # default is 1024
RX Mini: 0
RX Jumbo: 0
TX: 8192 # default is 1024

Revision history for this message
Alberto Donato (ack) wrote :

Thanks for the feature request.

We're currently tracking them on in https://discourse.maas.io/.
Could you please create a post there under the "Feature" label?

Changed in maas:
status: New → Invalid
Revision history for this message
David Coronel (davecore) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.