> > > > Well, it does complain (report below), but I'm not sure it's related. > > The other thing I tried was the AF_XDP example here: > > https://github.com/xdp-project/xdp-tutorial/tree/master/advanced03-AF_XDP > > > > With this example poll() always seems to block correctly, so I think > > maybe there is something wrong with the xdpsock_user.c example or how > > I'm using it. > > > > [ 259.591480] BUG: assuming atomic context at net/core/ptp_classifier.c:106 > > [ 259.591488] in_atomic(): 0, irqs_disabled(): 0, pid: 953, name: irq/22-eth%d > > [ 259.591494] CPU: 0 PID: 953 Comm: irq/22-eth%d Tainted: G WC > > 5. > > > > 2.21-rt13-00016-g93898e751d0e #90 > > [ 259.591499] Hardware name: Enclustra XU5 SOM (DT) > > [ 259.591501] Call trace: > > [ 259.591503] dump_backtrace (/arch/arm64/kernel/traps.c:94) > > [ 259.591514] show_stack (/arch/arm64/kernel/traps.c:151) > > [ 259.591520] dump_stack (/lib/dump_stack.c:115) > > [ 259.591526] __cant_sleep (/kernel/sched/core.c:6386) > > [ 259.591531] ptp_classify_raw (/./include/linux/compiler.h:194 > > Is this the only splat? Nothing more? I would expect something at boot > time, too. I should have expanded more. This seems to happen every second starting at boot in ptp_classifier.c regardless of if I'm doing anything with BPF. > > So this part expects disabled preemption. Other invocations disable > preemption. The whole BPF part is currently not working on -RT. OK, so I should expect more issues as we play with AF_XDP? An application based on the other example [1] is at least running. Preempt-rt + AF_XDP seems like an awesome combination, so I hopefully any BPF issues can be resolved. thanks, Paul [1] https://github.com/xdp-project/xdp-tutorial/tree/master/advanced03-AF_XDP