On 2024-11-10 10:08:00 [+0800], Hou Tao wrote: > >> well. However, after changing the kmalloc and its variants to bpf memory > >> allocator, I think the switch to raw_spinlock_t will be safe. I have > >> already written a draft patch set. Will post after after polishing and > >> testing it. WDYT ? > > Switching lpm to bpf_mem_alloc would address the issue. > > Why do you want a switch to raw_spin_lock as well? > > kfree_rcu() is already done outside of the lock. > > After switching to raw_spinlock_t, the lpm trie could be used under > interrupt context even under PREEMPT_RT. I would have to dig why the lock has been moved away from raw_spinlock_t and why we need it back and what changed since. I have some vague memory that there was a test case which added plenty of items and cleaning it up created latency spikes. Note that interrupts are threaded on PREEMPT_RT. Using it in "interrupt context" would mean you need this in the primary handler/ hardirq. Sebastian