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
..
2021-12-29 18:08:15 +01:00
2021-12-30 14:16:03 +01:00
2021-12-30 14:16:03 +01:00
2021-12-29 12:04:15 +01:00
2021-12-30 14:16:03 +01:00
2021-12-28 23:08:50 +01:00
2021-12-29 18:08:15 +01:00
2021-12-28 23:08:50 +01:00
2021-12-28 23:08:50 +01:00
2021-12-29 12:04:15 +01:00
2021-12-26 21:22:59 +01:00
2021-12-29 12:04:15 +01:00
2021-12-31 15:48:16 +01:00
2021-12-04 11:59:59 -08:00
2021-12-29 12:04:15 +01:00
2021-12-30 14:16:03 +01:00
2021-12-05 15:31:03 +01:00
2021-12-28 21:02:38 +01:00
2021-12-30 14:16:03 +01:00
2021-12-01 11:22:04 -08:00
2021-12-01 11:22:04 -08:00
2021-12-30 18:10:51 +01:00
2021-12-30 14:32:17 +01:00
2021-12-28 21:02:38 +01:00
2021-12-30 14:32:17 +01:00
2021-11-08 01:10:53 +01:00
2021-11-28 19:26:22 +02:00
2021-11-21 20:22:48 +01:00
2021-11-21 20:22:48 +01:00
2021-11-08 01:10:53 +01:00
2021-12-30 14:32:17 +01:00
2021-12-26 21:22:59 +01:00
2021-12-28 23:08:50 +01:00
2021-12-30 14:16:03 +01:00
2021-11-17 00:21:13 +01:00
2021-11-11 01:27:46 +01:00
2021-11-11 01:27:46 +01:00
2021-12-30 14:32:17 +01:00
2021-11-24 22:56:39 +01:00
2021-11-30 11:16:35 +01:00
2021-11-30 11:16:35 +01:00
2021-12-28 21:02:38 +01:00
2021-11-11 01:27:46 +01:00
2021-10-17 17:09:58 +01:00
2021-12-30 18:10:51 +01:00
2021-12-30 14:32:17 +01:00
2021-12-30 14:32:17 +01:00
2021-11-11 01:27:46 +01:00
2021-11-14 22:52:35 +01:00
2021-11-17 00:21:13 +01:00
2021-12-30 14:16:03 +01:00
2021-12-29 18:08:15 +01:00
2021-12-30 14:32:17 +01:00
2021-12-12 22:32:35 +01:00
2021-11-08 01:10:53 +01:00
2021-11-08 01:10:53 +01:00
2021-12-12 22:32:35 +01:00
2021-12-30 14:32:17 +01:00
2021-12-26 21:22:59 +01:00
2021-12-28 21:02:38 +01:00
2021-12-30 14:32:17 +01:00
2021-12-30 14:32:17 +01:00
2021-12-22 00:02:36 -08:00
2021-12-30 14:32:17 +01:00
2021-11-14 22:52:35 +01:00
2021-12-30 14:32:17 +01:00
2021-12-28 01:55:22 -08:00
2021-12-29 18:08:15 +01:00
2021-12-30 14:32:17 +01:00
2021-10-15 21:48:45 +01:00
2021-12-30 14:32:17 +01:00
2021-12-29 17:58:44 +01:00
2021-11-08 01:10:53 +01:00
2021-12-16 22:21:35 +03:30
2021-11-17 00:21:13 +01:00
2021-12-05 15:31:03 +01:00
2021-12-30 14:32:17 +01:00