Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 417a3ae4 authored by Igor Russkikh's avatar Igor Russkikh Committed by David S. Miller
Browse files

net: aquantia: Bad udp rate on default interrupt coalescing



Default Tx rates cause very long ISR delays on Tx.
0xff is 510us delay, giving only ~ 2000 interrupts per seconds for
Tx rings cleanup. With these settings udp tx rate was never higher than
~800Mbps on a single stream. Changing min delay to 0xF makes it
way better with ~6Gbps

TCP stream performance is almost unaffected by this change, since LSO
optimizations play important role.

CPU load is affected insignificantly by this change.

Signed-off-by: default avatarPavel Belous <pavel.belous@aquantia.com>
Signed-off-by: default avatarIgor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b82ee71a
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -821,12 +821,12 @@ static int hw_atl_b0_hw_interrupt_moderation_set(struct aq_hw_s *self)
			itr_rx |= rx_max_timer << 0x10U;
			itr_rx |= rx_max_timer << 0x10U;
		} else {
		} else {
			static unsigned int hw_atl_b0_timers_table_tx_[][2] = {
			static unsigned int hw_atl_b0_timers_table_tx_[][2] = {
				{0xffU, 0xffU}, /* 10Gbit */
				{0xfU, 0xffU}, /* 10Gbit */
				{0xffU, 0x1ffU}, /* 5Gbit */
				{0xfU, 0x1ffU}, /* 5Gbit */
				{0xffU, 0x1ffU}, /* 5Gbit 5GS */
				{0xfU, 0x1ffU}, /* 5Gbit 5GS */
				{0xffU, 0x1ffU}, /* 2.5Gbit */
				{0xfU, 0x1ffU}, /* 2.5Gbit */
				{0xffU, 0x1ffU}, /* 1Gbit */
				{0xfU, 0x1ffU}, /* 1Gbit */
				{0xffU, 0x1ffU}, /* 100Mbit */
				{0xfU, 0x1ffU}, /* 100Mbit */
			};
			};


			static unsigned int hw_atl_b0_timers_table_rx_[][2] = {
			static unsigned int hw_atl_b0_timers_table_rx_[][2] = {