Re: [RFC] please clarify local_irq_disable() in pcpu_freelist_populate()

2017-10-29 Thread Alexei Starovoitov
On 10/29/17 1:14 PM, Sebastian Andrzej Siewior wrote: 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. it would be incorrect because this_* versions have

Re: [RFC] please clarify local_irq_disable() in pcpu_freelist_populate()

2017-10-29 Thread Sebastian Andrzej Siewior
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_popu

Re: [RFC] please clarify local_irq_disable() in pcpu_freelist_populate()

2017-10-27 Thread Alexei Starovoitov
On 10/27/17 3:23 PM, Sebastian Andrzej Siewior wrote: Hi, while looking at other things here I stumbled at this in kernel/bpf/percpu_freelist.c: |void pcpu_freelist_populate(struct pcpu_freelist *s, void *buf, u32 elem_size, |u32 nr_elems) |{ … |/* disable ir

[RFC] please clarify local_irq_disable() in pcpu_freelist_populate()

2017-10-27 Thread Sebastian Andrzej Siewior
Hi, while looking at other things here I stumbled at this in kernel/bpf/percpu_freelist.c: |void pcpu_freelist_populate(struct pcpu_freelist *s, void *buf, u32 elem_size, |u32 nr_elems) |{ … |/* disable irq to workaround lockdep false positive | * in bp