• Breno Leitao's avatar
    net: sysfs: Do not create sysfs for non BQL device · 74293ea1
    Breno Leitao authored
    
    
    Creation of sysfs entries is expensive, mainly for workloads that
    constantly creates netdev and netns often.
    
    Do not create BQL sysfs entries for devices that don't need,
    basically those that do not have a real queue, i.e, devices that has
    NETIF_F_LLTX and IFF_NO_QUEUE, such as `lo` interface.
    
    This will remove the /sys/class/net/eth0/queues/tx-X/byte_queue_limits/
    directory for these devices.
    
    In the example below, eth0 has the `byte_queue_limits` directory but not
    `lo`.
    
    	# ls /sys/class/net/lo/queues/tx-0/
    	traffic_class  tx_maxrate  tx_timeout  xps_cpus  xps_rxqs
    
    	# ls /sys/class/net/eth0/queues/tx-0/byte_queue_limits/
    	hold_time  inflight  limit  limit_max  limit_min
    
    This also removes the #ifdefs, since we can also use netdev_uses_bql() to
    check if the config is enabled. (as suggested by Jakub).
    Suggested-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
    Link: https://lore.kernel.org/r/20240216094154.3263843-1-leitao@debian.org
    
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    74293ea1
net-sysfs.c 49.9 KB