> On Aug 28, 2015, at 2:13 PM, David Miller <da...@davemloft.net> wrote: > > From: Nikolay Aleksandrov <ra...@blackwall.org> > Date: Fri, 28 Aug 2015 10:22:20 -0700 > >> The problem is rcu_read_unlock_bh() which triggers a warning when >> irqs are disabled. ndo_poll_controller can run with bh enabled, >> disabled or irqs disabled so check if that is the case and acquire >> rcu_read_lock_bh only when not running with disabled irqs. > > I would say that having hard irqs disabled is a strict requirement, as > per the debugging test in netpoll_send_skb_on_dev(): > > WARN_ON_ONCE(!irqs_disabled()); > > If you want to add the same check to netpoll_send_udp(), that's fine. > > But what isn't fine is adding all of this conditional locking, we want > ->poll_controller() implementations to be able to depend upon the IRQ > environment they execute in, otherwise every single implementation > might need to have ugly conditional locking as well.
Great, that is what I wanted to know because I got confused by some older commits. This will simplify the fix and I will add the warn_on in netpoll_send_udp(). v3 coming up Thank you, Nik-- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html