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 linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 18 Jun 2012 21:07:33 +0300 From: "Eilon Greenstein" <eilong@...adcom.com> To: "Tomas Hruby" <thruby@...gle.com> cc: "Eric Dumazet" <eric.dumazet@...il.com>, "Dmitry Kravkov" <dmitry@...adcom.com>, "David Miller" <davem@...emloft.net>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "therbert@...gle.com" <therbert@...gle.com>, "evansr@...gle.com" <evansr@...gle.com>, "Merav Sicron" <meravs@...adcom.com>, "Yaniv Rosner" <yaniv.rosner@...adcom.com>, "willemb@...gle.com" <willemb@...gle.com> Subject: Re: [PATCH] bnx2x: fix panic when TX ring is full On Mon, 2012-06-18 at 10:18 -0700, Tomas Hruby wrote: > On Mon, Jun 18, 2012 at 12:38 AM, Eric Dumazet <eric.dumazet@...il.com> wrote: > > On Sat, 2012-06-16 at 07:40 +0000, Dmitry Kravkov wrote: > >> Hi Eric and Tomas > >> > >> > From: netdev-owner@...r.kernel.org [mailto:netdev- > >> > owner@...r.kernel.org] On Behalf Of David Miller > >> > Sent: Saturday, June 16, 2012 1:31 AM > >> > To: eric.dumazet@...il.com > >> > Cc: netdev@...r.kernel.org; therbert@...gle.com; evansr@...gle.com; > >> > Eilon Greenstein; Merav Sicron; Yaniv Rosner; willemb@...gle.com; > >> > thruby@...gle.com > >> > Subject: Re: [PATCH] bnx2x: fix panic when TX ring is full > >> > > >> > From: Eric Dumazet <eric.dumazet@...il.com> > >> > Date: Wed, 13 Jun 2012 21:45:16 +0200 > >> > > >> > > From: Eric Dumazet <edumazet@...gle.com> > >> > > > >> > > There is a off by one error in the minimal number of BD in > >> > > bnx2x_start_xmit() and bnx2x_tx_int() before stopping/resuming tx > >> > queue. > >> > > > >> > > A full size GSO packet, with data included in skb->head really needs > >> > > (MAX_SKB_FRAGS + 4) BDs, because of bnx2x_tx_split() > >> > > > >> > > This error triggers if BQL is disabled and heavy TCP transmit traffic > >> > > occurs. > >> > > > >> > > bnx2x_tx_split() definitely can be called, remove a wrong comment. > >> > > > >> > > Reported-by: Tomas Hruby <thruby@...gle.com> > >> > > Signed-off-by: Eric Dumazet <edumazet@...gle.com> > >> > >> Theoretically a can't see how we can reach the case with 4 BDs required apart of frags, > >> Usually we need 2, when split invoked 3: > >> 1.Start > >> 2.Start(split) > >> 3.Parsing > >> + Frags > >> > >> Next pages descriptors and 2 extras for full indication are not counted as available. > >> > >> Practically I'm running the traffic for more then a day without hitting the panic. > >> > >> Can you describe the scenario you reproduced this in details? And which code has paniced? > > > > Thats pretty immediate. > > yes > > > Disable bql on your NIC. > > > > Say you have 4 queues : > > > > for q in 0 1 2 3 > > do > > echo max >/sys/class/net/eth0/queues/tx-$q/byte_queue_limits/limit_min > > done > > > > Then start 40 netperf > > > > for i in `seq 1 40` > > do > > netperf -H 192.168.1.4 & > > done > > this is enough in my case too, it is perfectly reproducible on > different machines. Replacing +3 for +4 fixes the problem. Thanks. We are now able to reproduce the issue and we have root-caused it and found when it was introduced. We are considering few alternatives and will send our conclusions tomorrow. Eilon -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists