[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171029201438.g6f7eivvgtofpdvq@linutronix.de>
Date: Sun, 29 Oct 2017 21:14:39 +0100
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: Alexei Starovoitov <ast@...com>
Cc: tglx@...utronix.de, peterz@...radead.org,
Daniel Borkmann <daniel@...earbox.net>, netdev@...r.kernel.org
Subject: Re: [RFC] please clarify local_irq_disable() in
pcpu_freelist_populate()
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
Powered by blists - more mailing lists