Re: [RFC 0/7] Add support to process rx packets in thread

From: Sebastian Gottschall
Date: Sat Jul 25 2020 - 11:42:03 EST



i agree. i just can say that i tested this patch recently due this
discussion here. and it can be changed by sysfs. but it doesnt work for
wifi drivers which are mainly using dummy netdev devices. for this i
made a small patch to get them working using napi_set_threaded manually
hardcoded in the drivers. (see patch bellow)
By CONFIG_THREADED_NAPI, there is no need to consider what you did here
in the napi core because device drivers know better and are responsible
for it before calling napi_schedule(n).
yeah. but that approach will not work for some cases. some stupid drivers are using locking context in the napi poll function.
in that case the performance will runto shit. i discovered this with the mvneta eth driver (marvell) and mt76 tx polling (rx works)
for mvneta is will cause very high latencies and packet drops. for mt76 it causes packet stop. doesnt work simply (on all cases no crashes)
so the threading will only work for drivers which are compatible with that approach. it cannot be used as drop in replacement from my point of view.
its all a question of the driver design