ladybird/Kernel/Net/Intel
drblah b6ba0f9fad Kernel: Update E1000 link state using interrupt
Calls to link_up() in the E1000 driver would read the link state
directly from the hardware on every call. This had negative
performance impact in high throughput situations since link_up()
is called every time an IP packet's route is resolved.

This patch takes inspiration from the RTL8139 network adapter where
the link state is stored in a bool and only updated when the hardware
generates an interrupt related to link state change.

After this change I measured a ~9% increase in TCP Tx throughput
using:
cat /dev/zero | nc <host_IP> <host_port> from the Serenity VM to my
host machine
2021-12-31 15:48:16 +01:00
..
E1000ENetworkAdapter.cpp Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
E1000ENetworkAdapter.h Kernel/Net: Move Intel network adapters code to a separate directory 2021-12-28 00:56:47 -08:00
E1000NetworkAdapter.cpp Kernel: Update E1000 link state using interrupt 2021-12-31 15:48:16 +01:00
E1000NetworkAdapter.h Kernel: Update E1000 link state using interrupt 2021-12-31 15:48:16 +01:00