Messages in this thread | | | Date | Wed, 8 Dec 2021 17:53:31 -0800 | From | Jakub Kicinski <> | Subject | Re: [PATCH] Add Multiple TX/RX Queues Support for WWAN Network Device |
| |
On Wed, 8 Dec 2021 12:04:14 +0800 xiayu.zhang@mediatek.com wrote: > From: Xiayu Zhang <Xiayu.Zhang@mediatek.com> > > This patch adds 2 callback functions get_num_tx_queues() and > get_num_rx_queues() to let WWAN network device driver customize its own > TX and RX queue numbers. It gives WWAN driver a chance to implement its > own software strategies, such as TX Qos. > > Currently, if WWAN device driver creates default bearer interface when > calling wwan_register_ops(), there will be only 1 TX queue and 1 RX queue > for the WWAN network device. In this case, driver is not able to enlarge > the queue numbers by calling netif_set_real_num_tx_queues() or > netif_set_real_num_rx_queues() to take advantage of the network device's > capability of supporting multiple TX/RX queues. > > As for additional interfaces of secondary bearers, if userspace service > doesn't specify the num_tx_queues or num_rx_queues in netlink message or > iproute2 command, there also will be only 1 TX queue and 1 RX queue for > each additional interface. If userspace service specifies the num_tx_queues > and num_rx_queues, however, these numbers could be not able to match the > capabilities of network device. > > Besides, userspace service is hard to learn every WWAN network device's > TX/RX queue numbers. > > In order to let WWAN driver determine the queue numbers, this patch adds > below callback functions in wwan_ops: > struct wwan_ops { > unsigned int priv_size; > ... > unsigned int (*get_num_tx_queues)(unsigned int hint_num); > unsigned int (*get_num_rx_queues)(unsigned int hint_num); > }; > > WWAN subsystem uses the input parameters num_tx_queues and num_rx_queues of > wwan_rtnl_alloc() as hint values, and passes the 2 values to the two > callback functions. WWAN device driver should determine the actual numbers > of network device's TX and RX queues according to the hint value and > device's capabilities.
I'll mark it as an RFC in patchwork, there needs to be an in-tree user for this code to be merged.
| |