Comments (12)
@dsalychev It looks like NODEBUG is working fine as well :)
I'm pretty sure the multiple Rx queues is from the new DPL which has been default since Ten64 firmware v0.8.10, it was part of the method suggested to me by NXP that allows all 10 ports to balance traffic across all CPUs
https://forum.traverse.com.au/t/more-details-on-interrupt-balancing-dpaa2-config-dpio-splitting/114/4?u=mcbridematt
To be honest I haven't checked if Linux takes advantage of all Rx queues but I might go and check..
from freebsd-src.
Looking good so far, no panic and no warnings/errors in dmesg when testing 4 ports and debug kernel over 9 hours.
I will try NODEBUG next.
from freebsd-src.
@mcbridematt I recently started using multiple threads to receive frames: https://github.com/mcusim/freebsd-src/blob/lx2160acex7-dev/sys/dev/dpaa2/dpaa2_ni.c#L646-L648 That's why I'm interested :) I'll check my Ten64 firmware and try to stress my Ten64, thanks for info!
from freebsd-src.
Sorry, I should have closed this issue long ago. But it has definitely not reappeared in the latest code.
from freebsd-src.
@mcbridematt Could you try to reproduce it with 34014de, for example? And with both GENERIC and GENERIC-NODEBUG kernel configurations?
from freebsd-src.
Hit the same(?) problem, but this time in the tx path:
panic: dpaa2_ni_tx_conf: unexpected frame buffer: fd_addr(0x93a5e000) != txb_paddr(0x8cf27000)
cpuid = 5
time = 1656151823
KDB: stack backtrace:
db_trace_self() at db_trace_self
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
vpanic() at vpanic+0x13c
panic() at panic+0x44
dpaa2_ni_tx_conf() at dpaa2_ni_tx_conf+0x138
dpaa2_ni_poll_task() at dpaa2_ni_poll_task+0x160
taskqueue_run_locked() at taskqueue_run_locked+0x17c
taskqueue_thread_loop() at taskqueue_thread_loop+0xc8
fork_exit() at fork_exit+0x74
from freebsd-src.
@mcbridematt Could you test with 1a7aba9?
from freebsd-src.
Unfortunately it still happens, I saw both the RX and TX assertions triggered testing today.
from freebsd-src.
@mcbridematt Could you try e95fb52? I've simplified software portals locking mechanism there and tested with several task threads to poll frames in dpaa2_ni_poll_task().
from freebsd-src.
@mcbridematt btw, I noticed that you were using a network interface with several Rx queues/channels (custom DPL?). Could you try it as well?
from freebsd-src.
I haven't noticed this panic on https://github.com/mcusim/freebsd-src/tree/ten64. @mcbridematt Could you confirm after your test?
from freebsd-src.
@mcbridematt Could you conduct the same stress test again on https://github.com/mcusim/freebsd-src/tree/dpaa2 ? The ten64 branch is stale now and almost all of the changes have found their way into the dpaa2 one.
from freebsd-src.
Related Issues (19)
- "Failed to pull frames" when using multiple DPNIs HOT 11
- dpaa2_ni_tx_task: can't load TX buffer: error=27 HOT 5
- ten64: Slow or stall enumerating DPNIs on boot HOT 3
- MAC filter failures HOT 12
- dpaa2_mcp27 errors
- [ten64 branch] Dataflow stops with multiple port traffic HOT 3
- no traffic flows on latest ten64 branch HOT 2
- panic under heavy network load HOT 15
- Use DPMCPs for communicating with MC / fix VFIO guest HOT 2
- kernel panics HOT 18
- ten64: No dataflow on boot until cable replugged HOT 33
- VLAN_MTU HOT 3
- ether_nh_input: no mbuf packet header!
- Many dpaa2_niX: dpaa2_ni_transmit: drbr_enqueue() failed errors HOT 3
- Panic in dpaa2_ni_poll_task HOT 5
- Build failure without INVARIANTS (includes suggested patch) HOT 1
- Multicast HOT 4
- NFS Root does not work HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freebsd-src.