Breno Leitao wrote: > Hello Willem, > > On Sat, Jun 28, 2025 at 10:57:20AM -0400, Willem de Bruijn wrote: > > Breno Leitao wrote: > > > +NETCONSOLE_CONFIGFS_PATH: str = "/sys/kernel/config/netconsole" > > > +NETCONS_REMOTE_PORT: int = 6666 > > > +NETCONS_LOCAL_PORT: int = 1514 > > > +# Max number of netcons messages to send. Each iteration will setup > > > +# netconsole and send 10 messages > > > +ITERATIONS: int = 20 > > > +# MAPS contains the information coming from bpftrace > > > +# it will have only one key: @hits, which tells the number of times > > > +# netpoll_poll_dev() was called > > > > nit: no longer has ampersand prefix > > Good catch. I will update. > > > > +def ethtool_read_rx_tx_queue(interface_name: str) -> tuple[int, int]: > > > + """ > > > + Read the number of RX and TX queues using ethtool. This will be used > > > + to restore it after the test > > > + """ > > > + rx_queue = 0 > > > + tx_queue = 0 > > > + > > > + try: > > > + ethtool_result = ethtool(f"-g {interface_name}").stdout > > > + for line in ethtool_result.splitlines(): > > > + if line.startswith("RX:"): > > > + rx_queue = int(line.split()[1]) > > > + if line.startswith("TX:"): > > > + tx_queue = int(line.split()[1]) > > > > Does this work on devices that use combined? > > Not sure. This is suppossed to work mostly on netdevsim (for now).
Okay. Given that the test targets that. LGTM. > Since I am not familiar with combined TX/RX, I've looked at ethtool > code, and it seems RX and TX wil always be printed? > > This is what I found when `-g` is passed to ethtool. I'm also a bit confused about how combined is supposed to work. This was discussed or documented somewhere recently, but I can't seem to find an authoritative reference. To my intuition, "tx N rx M" is equivalent to "combined min(N, M)" plus the remainder of the larger ones. So "tx 1 rx 1" is equivalent to "combined 1". But not sure if this is true for all drivers. Anyway, as said, targeting netdevsim, so can leave out of scope.