From: Wei Wang
> Sent: 02 October 2020 23:25
>
> The idea of moving the napi poll process out of softirq context to a
> kernel thread based context is not new.
> Paolo Abeni and Hannes Frederic Sowa have proposed patches to move napi
> poll to kthread back in 2016. And Felix Fietkau has also proposed
> patches of similar ideas to use workqueue to process napi poll just a
> few weeks ago.
I didn't spot anything that makes this continue to work?
static inline bool netdev_xmit_more(void)
{
return __this_cpu_read(softnet_data.xmit.more);
}
I assume it normally relies on the softint code running with
pre-emption disabled.
(It also needs a level of indirection.
xmit.more is only set if more packets are queued when the tx
call is done.
I've seen a workload that manages to repeatedly add an extra
packet while the tx setup is in progress.)
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT,
UK
Registration No: 1397386 (Wales)