Thread (10 messages) flat view 10 messages, 3 authors, 2021-09-19

Re: [PATCH net-next 1/3] net: sched: update default qdisc visibility after Tx queue cnt changes

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-09-17 13:09:03

On Thu, 16 Sep 2021 22:46:42 -0700 Cong Wang wrote:
On Wed, Sep 15, 2021 at 12:36 PM Jakub Kicinski [off-list ref] wrote:
quoted
On Wed, 15 Sep 2021 09:31:08 -0700 Cong Wang wrote:  
quoted
Don't we need to flip the device with dev_deactivate()+dev_activate()?
It looks like the only thing this function resets is qdisc itself, and only
partially.  
We're only making the qdiscs visible, there should be
no datapath-visible change.  
Isn't every qdisc under mq visible to datapath?

Packets can be pending in qdisc's, and qdisc's can be scheduled
in TX softirq, so essentially we need to flip the device like other
By visible I mean tc qdisc dump shows them. I'm adding/removing 
the qdiscs to netdev->qdisc_hash. That's only used by control 
paths to dump or find qdiscs by handle.
quoted
quoted
This is nearly identical to mqprio_change_real_num_tx(), can we reuse
it?  
Indeed, I was a little unsure where best to place the helper.
Since mq is always built if mqprio is my instinct would be to
export mq_change_real_num_tx and use it in mqprio. But I didn't
see any existing exports (mq_attach(), mq_queue_get() are also
identical and are not shared) so I just copy&pasted the logic.  
What about net/sched/sch_generic.c?
quoted
LMK if (a) that's fine; (b) I should share the new code;
(c) I should post a patch to share all the code that's identical;...  
I think you can put the code in net/sched/sch_generic.c and export
it for mqprio (mq is built-in so can just call it).
Will do, thanks!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help