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

Commit ea1c1af1 authored by Amir Vadai's avatar Amir Vadai Committed by David S. Miller
Browse files

net/mlx4_en: Reduce memory consumption on kdump kernel



When memory is limited, reduce number of rx and tx rings.

Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2599d858
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -129,8 +129,10 @@ static int mlx4_en_get_profile(struct mlx4_en_dev *mdev)
	int i;

	params->udp_rss = udp_rss;
	params->num_tx_rings_p_up = min_t(int, num_online_cpus(),
			MLX4_EN_MAX_TX_RING_P_UP);
	params->num_tx_rings_p_up = mlx4_low_memory_profile() ?
		MLX4_EN_MIN_TX_RING_P_UP :
		min_t(int, num_online_cpus(), MLX4_EN_MAX_TX_RING_P_UP);

	if (params->udp_rss && !(mdev->dev->caps.flags
					& MLX4_DEV_CAP_FLAG_UDP_RSS)) {
		mlx4_warn(mdev, "UDP RSS is not supported on this device\n");
+3 −2
Original line number Diff line number Diff line
@@ -335,7 +335,8 @@ void mlx4_en_set_num_rx_rings(struct mlx4_en_dev *mdev)
					   dev->caps.comp_pool/
					   dev->caps.num_ports) - 1;

		num_rx_rings = min_t(int, num_of_eqs,
		num_rx_rings = mlx4_low_memory_profile() ? MIN_RX_RINGS :
			min_t(int, num_of_eqs,
			      netif_get_num_default_rss_queues());
		mdev->profile.prof[i].rx_ring_num =
			rounddown_pow_of_two(num_rx_rings);
+1 −0
Original line number Diff line number Diff line
@@ -121,6 +121,7 @@ enum {
#define MLX4_EN_MIN_TX_SIZE	(4096 / TXBB_SIZE)

#define MLX4_EN_SMALL_PKT_SIZE		64
#define MLX4_EN_MIN_TX_RING_P_UP	1
#define MLX4_EN_MAX_TX_RING_P_UP	32
#define MLX4_EN_NUM_UP			8
#define MLX4_EN_DEF_TX_RING_SIZE	512