> > Hi everyone. > > The ethtool interface has ETHTOOL_PERQUEUE command that is used to > read/set per-queue parameters for multiqueue Ethernet devices. > > I want to apply additional per-queue commands like per-queue bandwidth > and per-queue number of descriptors (like number of rings). > > Currently only ETHTOOL_G/SCOALESCE sub commands are added for per- > queue interface (but I haven't seen counterpart for ethtool util). > > Using ETHTOOL_G/SCOALESCE per-queue command as an example, I'm > going to add 2 additional and 2 known commands for ethtool per-queue > interface: > > ETHTOOL_G/SBANDWIDTH /* Get/Set ethtool per queue bandwidth. > Bandwidth can be set with % or absolute in Mb/s */ > > ETHTOOL_G/SRINGPARAM /* is going to be used to control number of > descriptors per queue in my driver */ > > It's not clear how PERQUEUE command splits rx and tx queues, as they can > have different enumeration and different parameters. > > Actually, there are several questions: > - how to split enumeration of rx / tx queues in per queue command, > as it uses linear bitmap to mirror affected channels. > - where is ethtool util counterpart for per queue command? > - is it correct way to use ethtool to configure h/w shaper? >
I once submitted a patch series for ethtool to do per-queue setting. https://www.mail-archive.com/netdev%40vger.kernel.org/msg110727.html But it's not merged. Because I didn't have a chance to address Ben's comments yet. https://www.mail-archive.com/netdev%40vger.kernel.org/msg116630.html I guess you may extend the ethtool patch series, and use it to verify your kernel changes. Kan > In my case, by default, multi queue h/w shaper is working in priority mode. > The setting of bandwidth for queues can be used to switch shaper to > throughput aware mode when every queue can be bandwidth limited. > > -- > Regards, > Ivan Khoronzhuk