From: Jamal Hadi Salim <jhs@mojatatu.com>
To: Florian Westphal <fw@strlen.de>, Eric Dumazet <eric.dumazet@gmail.com>
Cc: Cong Wang <xiyou.wangcong@gmail.com>,
David Miller <davem@davemloft.net>,
netdev <netdev@vger.kernel.org>,
Stas Nichiporovich <stasn77@gmail.com>
Subject: Re: [PATCH v2 net] fq_codel: fix NET_XMIT_CN behavior
Date: Fri, 10 Jun 2016 08:02:55 -0400 [thread overview]
Message-ID: <575AAC6F.7090301@mojatatu.com> (raw)
In-Reply-To: <20160606161843.GD7827@breakpoint.cc>
On 16-06-06 12:18 PM, Florian Westphal wrote:
> Eric Dumazet <eric.dumazet@gmail.com> wrote:
>> On Mon, 2016-06-06 at 13:42 +0200, Florian Westphal wrote:
>>> Jamal Hadi Salim <jhs@mojatatu.com> wrote:
>>>> BTW, returning NET_XMIT_CN could be confusing to tcp;
>>>> it does not mean that the packet that we are getting return
>>>> code for was dropped; it could mean _another_ packet in
>>>> the queue was dropped.
>>>
>>> Yes, but we currently conceal NET_XMIT_CN from upper layer (tcp)
>>> via the net_xmit_* macros:
>>>
>>> #define net_xmit_eval(e) ((e) == NET_XMIT_CN ? 0 : (e))
>>> #define net_xmit_errno(e) ((e) != NET_XMIT_CN ? -ENOBUFS : 0)
>>>
>>> Might be worth changing this so tcp reduces cwnd in _CN case too.
>>
>> It always had been the case.
>>
>> tcp_transmit_skb() calls tcp_enter_cwr(), unless someone broke this.
>
> No, you're right. We hide error in ip_send_skb but that function is
> not used in tcp case.
>
> So all is good here.
>
Just making sure because that little gem is not obvious;->
Eric, on the NET_XMIT_CN digression:
depends on the qdisc scheduler.
NET_XMIT_CN could mean one of two things:
"There is congestion. The packet you sent was dropped locally" and
"There is congestion. The packet you sent was not dropped locally"
Yes, they both react with tcp_enter_cwr() and from a macroscopic
view it probably doesnt matter as much because tcp state machine will
kick in at some point. I think better use could be made of such
knowledge.
cheers,
jamal
next prev parent reply other threads:[~2016-06-10 12:03 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-04 17:43 [PATCH net] fq_codel: fix NET_XMIT_CN behavior Eric Dumazet
2016-06-04 19:03 ` [net] " Florian Westphal
2016-06-04 19:40 ` Eric Dumazet
2016-06-04 19:55 ` [PATCH v2 net] " Eric Dumazet
2016-06-05 13:03 ` Jamal Hadi Salim
2016-06-05 20:30 ` Cong Wang
2016-06-05 20:54 ` Eric Dumazet
2016-06-05 20:55 ` Eric Dumazet
2016-06-05 23:30 ` Cong Wang
2016-06-06 10:49 ` Jamal Hadi Salim
2016-06-06 11:42 ` Florian Westphal
2016-06-06 14:37 ` Eric Dumazet
2016-06-06 16:18 ` Florian Westphal
2016-06-10 12:02 ` Jamal Hadi Salim [this message]
2016-06-06 14:29 ` Eric Dumazet
2016-06-07 22:39 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=575AAC6F.7090301@mojatatu.com \
--to=jhs@mojatatu.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=fw@strlen.de \
--cc=netdev@vger.kernel.org \
--cc=stasn77@gmail.com \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.