Nice :o)
It is a legitimate concern.
It can be understood as us claiming to perform some work we didn't too.
In this regard, a "ack everything and perform no work loop in the irq
handler" design would require some work : it races with the - supposedly
fast, register read free - napi handler which does not check that
unprocessed events are acked.
As the current patch was provided with almost no explanation :
- the irq handler and the napi handler are allowed / assumed / expected
to race
- the napi and irq handlers ack respectively their own events (IntrStatus).
They do not ack their friend ones.
- everybody acks (IntrStatus) before the work is done
- napi irqs are disabled before napi is (tentatively) scheduled.
napi irqs are only expected to be disabled most of the time the napi
handler runs.
- the napi handler enables its irqs, tests new events and conditionaly
schedules itself.
--
Ueimor
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html