Skip site navigation (1)Skip section navigation (2)
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=211962

            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 values,
and one or more queues fastly increases dev.bxe.#.queue.#.tx_soft_errors value.
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 first
tries to enqueue new packet and exits on fail. After that, it dequeues pending
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 queue
length.

I'm new to bxe driver source code and can be wrong but the patch seems fixed
the problem.

-- 
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>