mcusim / freebsd-src

sys/dev/dpaa2 drivers work-in-progress
https://www.FreeBSD.org/
Other
4 stars 3 forks source link

Many dpaa2_niX: dpaa2_ni_transmit: drbr_enqueue() failed errors #3

Closed mcbridematt closed 2 years ago

mcbridematt commented 2 years ago

Hardware: Ten64, MC 10.20 (default DPAA2 configuration) Commit: 0e7b9be69

I've had a Ten64 with FreeBSD serving my audiovisual equipment (TV, set-top box, Xbox) for a week now, it has worked well.

I have noticed these messages appearing in syslog when multiple devices are doing traffic:

May  6 21:52:03 ten64-freebsd kernel: dpaa2_ni2: dpaa2_ni_poll_task: failed to pull frames: chan_id=54, error=16
May  7 03:55:43 ten64-freebsd kernel: dpaa2_ni2: dpaa2_ni_poll_task: failed to pull frames: chan_id=54, error=16
May  7 08:02:16 ten64-freebsd kernel: dpaa2_ni1: dpaa2_ni_transmit: drbr_enqueue() failed
May  7 08:02:16 ten64-freebsd syslogd: last message repeated 5 times
May  7 08:03:46 ten64-freebsd syslogd: last message repeated 8 times
May  7 08:18:06 ten64-freebsd kernel: dpaa2_ni1: dpaa2_ni_transmit: drbr_enqueue() failed
May  7 08:18:17 ten64-freebsd syslogd: last message repeated 23 times
May  8 03:42:54 ten64-freebsd syslogd: last message repeated 1 times
May  8 03:55:20 ten64-freebsd kernel: dpaa2_ni1: dpaa2_ni_transmit: drbr_enqueue() failed
May  8 03:55:20 ten64-freebsd syslogd: last message repeated 7 times
May  8 04:36:25 ten64-freebsd kernel: dpaa2_ni1: dpaa2_ni_transmit: drbr_enqueue() failed
May  8 04:36:25 ten64-freebsd syslogd: last message repeated 13 times

It doesn't happen consistently but enough over two separate occasions. No major effects (e.g dropped or degraded video streams) are visible on the connected devices

The configuration is:

I will try and construct a more repeatable testcase.

dsalychev commented 2 years ago

@mcbridematt Please, try 0e0f350b0d5346a0761c0e485893ea36bce0b742. I've increased a size of the Tx ring buffers to 4096 just for tests.

dsalychev commented 2 years ago

If you'll be able confirm that drbr_enqueue() fails less frequently with bigger Tx ring buffers, I'll try to improve dpaa2_ni_transmit() in order not to give up on enqueuing mbufs that easy.

mcbridematt commented 2 years ago

Now that the panic in #4 is out of the way - yes, increasing tx ring buffers has made this warning disappear.