(04.04.14 kl.21:44) Feldman, Scott skrev följande till netdev@xxxxxxxxxxx:
> Hi,
> this time the check for __LINK_STATE_RX_SCHED fails because RX_SOFTIRQ
> is already running on CPU0. This means we've put work on the CPU1's
> backlog queue, but we don't start the RX_SOFTIRQ on CPU1. :-(
>
> So the work on CPU1's backlog queue is stuck. It'll get started if 1)
> we get another hard interrupt on CPU1, and 2) no other CPUs are running
> their RX_SOFTIRQ.
>
> This could cause unnecessary Rx packet ordering issues as well as
> potentially leaving work pending on a CPU for some time.
>
> What am I missing?
__LINK_STATE_RX_SCHED is set on queue->backlog_dev not on the "real"
netdev.
The backlog_dev is per queue and thus per CPU.
Cheers,
Jens
>
> -scott
>
>
>
-----------------------------------------------------------------------
'This mail automatically becomes portable when carried.'
-----------------------------------------------------------------------
Jens Låås Email: jens.laas@xxxxxxxxxxx
Department of Computer Services, SLU Phone: +46 18 67 35 15
Vindbrovägen 1
P.O. Box 7079
S-750 07 Uppsala
SWEDEN
-----------------------------------------------------------------------
|