Re: DQL and TCQ_F_CAN_BYPASS destroy performance under virtualizaiton (Was: "Re: net_sched strange in 4.11")

2017-05-10 Thread Anton Ivanov
On 11/05/17 03:43, Jason Wang wrote: > > > On 2017年05月10日 17:42, Anton Ivanov wrote: >> On 10/05/17 09:56, Jason Wang wrote: >>> >>> >>> On 2017年05月10日 13:28, Anton Ivanov wrote: On 10/05/17 03:18, Jason Wang wrote: > > On 2017年05月09日 23:11, Stefan Hajnoczi wrote: >> On Tue, May 09

Re: DQL and TCQ_F_CAN_BYPASS destroy performance under virtualizaiton (Was: "Re: net_sched strange in 4.11")

2017-05-10 Thread Jason Wang
On 2017年05月10日 17:42, Anton Ivanov wrote: On 10/05/17 09:56, Jason Wang wrote: On 2017年05月10日 13:28, Anton Ivanov wrote: On 10/05/17 03:18, Jason Wang wrote: On 2017年05月09日 23:11, Stefan Hajnoczi wrote: On Tue, May 09, 2017 at 08:46:46AM +0100, Anton Ivanov wrote: I have figured it out.

Re: DQL and TCQ_F_CAN_BYPASS destroy performance under virtualizaiton (Was: "Re: net_sched strange in 4.11")

2017-05-10 Thread Anton Ivanov
On 10/05/17 09:56, Jason Wang wrote: On 2017年05月10日 13:28, Anton Ivanov wrote: On 10/05/17 03:18, Jason Wang wrote: On 2017年05月09日 23:11, Stefan Hajnoczi wrote: On Tue, May 09, 2017 at 08:46:46AM +0100, Anton Ivanov wrote: I have figured it out. Two issues. 1) skb->xmit_more is hardly eve

Re: DQL and TCQ_F_CAN_BYPASS destroy performance under virtualizaiton (Was: "Re: net_sched strange in 4.11")

2017-05-10 Thread Jason Wang
On 2017年05月10日 13:28, Anton Ivanov wrote: On 10/05/17 03:18, Jason Wang wrote: On 2017年05月09日 23:11, Stefan Hajnoczi wrote: On Tue, May 09, 2017 at 08:46:46AM +0100, Anton Ivanov wrote: I have figured it out. Two issues. 1) skb->xmit_more is hardly ever set under virtualization because the

Re: DQL and TCQ_F_CAN_BYPASS destroy performance under virtualizaiton (Was: "Re: net_sched strange in 4.11")

2017-05-09 Thread Anton Ivanov
[snip] > Virtio-net net does not support BQL. Before commit ea7735d97ba9 > ("virtio-net: move free_old_xmit_skbs"), it's even impossible to > support that since we don't have tx interrupt for each packet. I > haven't measured the impact of xmit_more, maybe I was wrong but I > think it may help in

Re: DQL and TCQ_F_CAN_BYPASS destroy performance under virtualizaiton (Was: "Re: net_sched strange in 4.11")

2017-05-09 Thread Anton Ivanov
On 10/05/17 03:18, Jason Wang wrote: > > > On 2017年05月09日 23:11, Stefan Hajnoczi wrote: >> On Tue, May 09, 2017 at 08:46:46AM +0100, Anton Ivanov wrote: >>> I have figured it out. Two issues. >>> >>> 1) skb->xmit_more is hardly ever set under virtualization because >>> the qdisc >>> is usually bypa

Re: DQL and TCQ_F_CAN_BYPASS destroy performance under virtualizaiton (Was: "Re: net_sched strange in 4.11")

2017-05-09 Thread Jason Wang
On 2017年05月09日 23:11, Stefan Hajnoczi wrote: On Tue, May 09, 2017 at 08:46:46AM +0100, Anton Ivanov wrote: I have figured it out. Two issues. 1) skb->xmit_more is hardly ever set under virtualization because the qdisc is usually bypassed because of TCQ_F_CAN_BYPASS. Once TCQ_F_CAN_BYPASS is s

Re: DQL and TCQ_F_CAN_BYPASS destroy performance under virtualizaiton (Was: "Re: net_sched strange in 4.11")

2017-05-09 Thread Stefan Hajnoczi
On Tue, May 09, 2017 at 08:46:46AM +0100, Anton Ivanov wrote: > I have figured it out. Two issues. > > 1) skb->xmit_more is hardly ever set under virtualization because the qdisc > is usually bypassed because of TCQ_F_CAN_BYPASS. Once TCQ_F_CAN_BYPASS is > set a virtual NIC driver is not likely se

DQL and TCQ_F_CAN_BYPASS destroy performance under virtualizaiton (Was: "Re: net_sched strange in 4.11")

2017-05-09 Thread Anton Ivanov
I have figured it out. Two issues. 1) skb->xmit_more is hardly ever set under virtualization because the qdisc is usually bypassed because of TCQ_F_CAN_BYPASS. Once TCQ_F_CAN_BYPASS is set a virtual NIC driver is not likely see skb->xmit_more (this answers my "how does this work at all" questi

net_sched strange in 4.11

2017-05-08 Thread Anton Ivanov
Hi all, I was revising some of my old work for UML to prepare it for submission and I noticed that skb->xmit_more does not seem to be set any more. I traced the issue as far as net/sched/sched_generic.c try_bulk_dequeue_skb() is never invoked (the drivers I am working on are dql enabled so t