Hi,
Does libdde_linux26_net support NAPI?
From the first glance it doesn't.
Do you have plans about adding NAPI support? Some Linux network drivers don't have 'no NAPI' mode. So couldn't be used 'as is' in ORe. Situation may get worse in the future.
Best Regards, Alexander Valitov
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
Does libdde_linux26_net support NAPI?
From the first glance it doesn't.
NAPI basically means that you switch from interrupt to polling mode when receiving lots of packets. This is done through the NET_RX softirqs which are part of DDE.
What else do you think is missing?
Bjoern
Hi Björn,
What else do you think is missing?
Sorry, I'm not guru in Linux Kernel API. I drew a conclusion from the following: I tried to use newer e1000 driver with ORe. To do so I overwrote source files for e1000 driver with the newer ones from 2.6.28.7. When I tried to compile, I got error: unknown 'napi_struct' type. So I decided that NAPI is not supported.
Alexander Valitov
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hey,
Sorry, I'm not guru in Linux Kernel API. I drew a conclusion from the following: I tried to use newer e1000 driver with ORe. To do so I overwrote source files for e1000 driver with the newer ones from 2.6.28.7. When I tried to compile, I got error: unknown 'napi_struct' type. So I decided that NAPI is not supported.
Current DDE is based on Linux 2.6.20.19, so don't expect things from later Linux kernels to work properly.
napi_struct as a new way of handling NAPI seems to have been introduced in a later version (quick google indicates something like 2.6.24).
Bjoern
Hi,
Current DDE is based on Linux 2.6.20.19, so don't expect things from later Linux kernels to work properly.
napi_struct as a new way of handling NAPI seems to have been introduced in a later version (quick google indicates something like 2.6.24).
After performing some RTFM actions I’ve found out that it’s not really hard to back port latest drivers from new to old NAPI. Until driver does not create multiple NAPI structures per device (possible if NIC is kind of modern, SMP oriented and can support multiple receive queues with CPU affinity and flow separation). Here are useful links for those who might be interested in: http://www.linuxfoundation.org/en/Net:NAPI – old NAPI (<2.6.24) http://lwn.net/Articles/244640/ - new NAPI (>=2.6.24)
Regarding Intel NICs, driver that supports both old and new NAPI is provided by Intel corp.. I’ve downloaded it from official site and managed to get it built and running with ORe (it supports my e1000 NIC - 8086:10d3, while driver from svn repo does not).
Still. In my opinion it is a good thing to have new NAPI support in DDE even if it’s only network driver specific interface. But I guess you don’t have plans for adding such a feature to DDE.
Best Regards, Alexander Valitov
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hey,
thanks for the info and the links. I hope it will be useful for people using this stuff in the future.
On your expectations on future DDE features - yep, we will most probably not move DDE/Linux2.6 in L4Env to newer versions of Linux. Newer DDE versions will probably only be available for the new L4 Runtime Environment (L4Re) and the new version of Fiasco, both of which are not yet available publicly.
Bjoern
l4-hackers@os.inf.tu-dresden.de