All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Paasch <cpaasch at apple.com>
To: mptcp at lists.01.org
Subject: [MPTCP] Re: [PATCH v2 mptcp-next] mptcp: add receive buffer auto-tuning
Date: Fri, 29 May 2020 15:41:33 -0700	[thread overview]
Message-ID: <20200529224133.GQ64606@MacBook-Pro-64.local> (raw)
In-Reply-To: 20200529201005.GA12873@breakpoint.cc

[-- Attachment #1: Type: text/plain, Size: 3223 bytes --]

On 05/29/20 - 22:10, Florian Westphal wrote:
> Christoph Paasch <cpaasch(a)apple.com> wrote:
> > > After:
> > > ns4 MPTCP -> ns3 (10.0.3.2:10108      ) MPTCP   (duration  5417ms) [ OK ]
> > > ns4 MPTCP -> ns3 (10.0.3.2:10109      ) TCP     (duration  5429ms) [ OK ]
> > > ns4 TCP   -> ns3 (10.0.3.2:10110      ) MPTCP   (duration  5418ms) [ OK ]
> > > ns4 MPTCP -> ns3 (dead:beef:3::2:10111) MPTCP   (duration  5423ms) [ OK ]
> > > ns4 MPTCP -> ns3 (dead:beef:3::2:10112) TCP     (duration  5715ms) [ OK ]
> > > ns4 TCP   -> ns3 (dead:beef:3::2:10113) MPTCP   (duration  5415ms) [ OK ]
> > > Time: 275 seconds
> > > 
> > > Signed-off-by: Florian Westphal <fw(a)strlen.de>
> > > ---
> > Need to also handle the fallback to TCP-case. Otherwise there is a
> > divide-by-0:
> > 
> > server login: [ 1998.037445] divide error: 0000 [#1] SMP KASAN PTI
> > [ 1998.038321] CPU: 3 PID: 1671 Comm: http Kdump: loaded Not tainted 5.7.0-rc6.mptcp #43
> > [ 1998.039599] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014
> > [ 1998.041526] RIP: 0010:mptcp_recvmsg+0x6ae/0xa40
> > [ 1998.042370] Code: 44 89 e0 89 da 4c 8b 44 24 08 45 8d b4 24 40 03 00 00 c1 e0 04 48 8d 0c 50 89 d8 49 8d b8 60 04 00 00 31 d2 29 e8 48 0f af c1 <48> f7 f5 4c 8d 2c 41 e8 66 6b 6a ff 4c 8b 44 24 08 41 8b a8 64
> > [ 1998.045394] RSP: 0018:ffff8881174bf968 EFLAGS: 00010206
> > [ 1998.046237] RAX: 0000000140764000 RBX: 000000000000b500 RCX: 000000000001c540
> > [ 1998.047397] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffffff8291b460
> > [ 1998.048564] RBP: 0000000000000000 R08: ffffffff8291b000 R09: ffffffff82f1d0c8
> > [ 1998.049724] R10: ffffffff82f1d0c3 R11: fffffbfff05e3a18 R12: 00000000000005b4
> > [ 1998.050872] R13: 000000000022b368 R14: 00000000000008f4 R15: ffff888118740000
> > [ 1998.052059] FS:  00007f081dd1ea40(0000) GS:ffff88811b980000(0000) knlGS:0000000000000000
> > [ 1998.053357] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [ 1998.054189] CR2: 000055b5364a7000 CR3: 0000000115d5e000 CR4: 00000000000006e0
> > [ 1998.055231] Call Trace:
> > [ 1998.057574]  inet_recvmsg+0x207/0x220
> > [ 1998.058832]  sock_read_iter+0x1fe/0x230
> > [ 1998.060656]  new_sync_read+0x33a/0x350
> > [ 1998.063934]  vfs_read+0xbc/0x1b0
> > [ 1998.064466]  ksys_read+0x11b/0x150
> > [ 1998.066975]  do_syscall_64+0xbc/0x790
> > [ 1998.070940]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
> 
> WTF?  How can this happen? All TCP -> MPTCP tests passed for me.
> This would mean we call mptcp_recvmsg *without* gping through
> either mptcp_finish_connect or mptcp_accept?
> 
> > @@ -259,8 +259,10 @@ static void subflow_finish_connect(struct sock *sk, const struct sk_buff *skb)
> >  				MPTCP_MIB_MPCAPABLEACTIVEFALLBACK);
> >  	}
> > 
> > -	if (mptcp_check_fallback(sk))
> > +	if (mptcp_check_fallback(sk)) {
> > +		mptcp_rcv_space_init(mptcp_sk(parent), sk);
> >  		return;
> > +	}
> 
> Oh, wait.  That code is not present in net-next.
> 
> In that case I will wait until this has propagated to net-next; i assume
> I would see the crash with the self test too.

True, that code came from Davide!


Christoph

             reply	other threads:[~2020-05-29 22:41 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-29 22:41 Christoph Paasch [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-06-03 15:45 [MPTCP] Re: [PATCH v2 mptcp-next] mptcp: add receive buffer auto-tuning Christoph Paasch
2020-06-03 15:32 Florian Westphal
2020-06-03 15:08 Davide Caratti
2020-06-03 14:39 Florian Westphal
2020-06-03 14:06 Davide Caratti
2020-05-29 20:10 Florian Westphal
2020-05-29 16:56 Christoph Paasch

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=20200529224133.GQ64606@MacBook-Pro-64.local \
    --to=unknown@example.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.