Date: Thu, 18 Aug 2016 11:25:26 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 211962] bxe driver queue soft hangs and flooding tx_soft_errors Message-ID: <bug-211962-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D211962 Bug ID: 211962 Summary: bxe driver queue soft hangs and flooding tx_soft_errors Product: Base System Version: 10.3-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: aler@playground.ru Hardware (from dmesg): QLogic NetXtreme II BCM57711E 10GbE (A0) BXE v:1.78.= 79 (but this seems not important here) Sometimes (randomly) bxe driver reduces its sending speed to very slow valu= es, and one or more queues fastly increases dev.bxe.#.queue.#.tx_soft_errors va= lue. This can be stopped and returned to normal operation only by restarting the interface (ifconfig down + ifconfig up). It seems i found the bug that causes this. In bxe_tx_mq_start_locked(), when we have both pending and new packet, it f= irst tries to enqueue new packet and exits on fail. After that, it dequeues pend= ing packet and tryes to handle it. Sometimes the tx queue gets overflowed by accident. It is nothing bad, bad = what happens next: bxe_tx_mq_start_locked() getting called again and again, with= new packets that TCP layer trying to send. Everytime called it tryes to enqueue them, fails and exits, having no way to handle pending packets and reduce q= ueue length. I'm new to bxe driver source code and can be wrong but the patch seems fixed the problem. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-211962-8>