Re: xdpsock poll with 5.2.21rt kernel
From: Paul Thomas <hidden>
Date: 2019-12-02 17:11:26
Also in:
bpf, linux-rt-users
quoted
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:194Is 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