Subject: Re: [PATCH bpf-next 06/17] bnxt: remove rcu_read_lock() around XDP program invocation

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Thu, 10 Jun 2021 10:47:00 +0200

"Paul E. McKenney" <[email-masked]> writes:

> On Wed, Jun 09, 2021 at 12:33:15PM +0200, Toke Høiland-Jørgensen wrote:
>> The bnxt driver has rcu_read_lock()/rcu_read_unlock() pairs around XDP
>> program invocations. However, the actual lifetime of the objects referred
>> by the XDP program invocation is longer, all the way through to the call to
>> xdp_do_flush(), making the scope of the rcu_read_lock() too small. This
>> turns out to be harmless because it all happens in a single NAPI poll
>> cycle (and thus under local_bh_disable()), but it makes the rcu_read_lock()
>> misleading.
>> 
>> Rather than extend the scope of the rcu_read_lock(), just get rid of it
>> entirely. With the addition of RCU annotations to the XDP_REDIRECT map
>> types that take bh execution into account, lockdep even understands this to
>> be safe, so there's really no reason to keep it around.
>
> And same for the rest of these removals.  Someone might be very happy
> to have that comment at some later date, and that someone just might
> be you.  ;-)

Bah, why do you have to go and make sensible suggestions like that? ;)

Will wait for Martin's review and add this in a v2. BTW, is it OK to
include your patch in the series like this, or should I rather request
that your tree be merged into bpf-next?

-Toke