lkml.org 
[lkml]   [2020]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [Softirq] a76eadba0d: WARNING:at_net/mac80211/rx.c:#ieee80211_rx_napi[mac80211]
    On Thu, Jul 23, 2020 at 6:58 PM Thomas Gleixner <tglx@linutronix.de> wrote:
    >
    > kernel test robot <lkp@intel.com> writes:
    > > [ 106.856151] WARNING: CPU: 5 PID: 4569 at net/mac80211/rx.c:4708 ieee80211_rx_napi+0x44d/0x560 [mac80211]
    >
    > Bah. I clearly should have noticed when looking at the patch.
    >
    > pending = softirq_pending();
    >
    > set_softirq_pending(0);
    >
    > while (pending) {
    > ....
    >
    > if (timeout)
    > break;
    > }
    >
    > That drops everything which has not yet been processed and the above
    > warning is due to this.
    >
    wow, I made a mistake, thank you for finding the cause of the problem
    so quickly.

    How about the following code. we need to clear the corresponding
    pending bit at the
    right time Instead of all the pending bits cleared in the start.

    pending = softirq_pending();

    while ((softirq_bit = ffs(pending))) {

    pending >>= softirq_bit;

    set_softirq_pending(pending); //Only clear the corresponding
    bit which will be processed.

    h->action(h);

    if (timeout)
    break;
    }

    > Thanks,
    >
    > tglx
    >

    \
     
     \ /
      Last update: 2020-07-23 15:57    [W:3.250 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site