On 2017-10-27 19:18:40 [-0700], Alexei Starovoitov wrote: > pcpu_freelist_push() is called by bpf programs from atomic context.
so raw would still be correct because the content is locked. > lockdep thinks that __pcpu_freelist_push() can be called recursively > in the middle of pcpu_freelist_populate's loop and will deadlock > which is not the case here. That's why local_irq_save() is there. > Just to silence lockdep. do you mind giving me bunch of test-cases so I can test it myself? > While developing pcpu_freelist I've benchmarked many different > approaches. Some of the numbers are in > commit 6c9059817432 ("bpf: pre-allocate hash map elements") > iirc I passed on llist, since llist_del_first still needs a lock, > so doesn't really help. Okay. I will look that up. Sebastian