lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 21 May 2019 13:11:11 -0700 (PDT) From: David Miller <davem@...emloft.net> To: 3erndeckstein@...il.com Cc: linux@...ck-us.net, linux-usb@...r.kernel.org, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, corsac@...sac.net, Oliver.Zweigle@...o.com, 3ernd.Eckstein@...il.com Subject: Re: [PATCH] usbnet: ipheth: fix racing condition From: Bernd Eckstein <3erndeckstein@...il.com> Date: Mon, 20 May 2019 17:31:09 +0200 > Fix a racing condition in ipheth.c that can lead to slow performance. > > Bug: In ipheth_tx(), netif_wake_queue() may be called on the callback > ipheth_sndbulk_callback(), _before_ netif_stop_queue() is called. > When this happens, the queue is stopped longer than it needs to be, > thus reducing network performance. > > Fix: Move netif_stop_queue() in front of usb_submit_urb(). Now the order > is always correct. In case, usb_submit_urb() fails, the queue is woken up > again as callback will not fire. > > Testing: This racing condition is usually not noticeable, as it has to > occur very frequently to slowdown the network. The callback from the USB > is usually triggered slow enough, so the situation does not appear. > However, on a Ubuntu Linux on VMWare Workstation, running on Windows 10, > the we loose the race quite often and the following speedup can be noticed: > > Without this patch: Download: 4.10 Mbit/s, Upload: 4.01 Mbit/s > With this patch: Download: 36.23 Mbit/s, Upload: 17.61 Mbit/s > > Signed-off-by: Oliver Zweigle <Oliver.Zweigle@...o.com> > Signed-off-by: Bernd Eckstein <3ernd.Eckstein@...il.com> Applied.
Powered by blists - more mailing lists