Commit 1d3ef13d authored by Michael Chan's avatar Michael Chan Committed by David S. Miller
Browse files

bnxt_en: Adjust default rings for multi-port NICs.



Change the default ring logic to select default number of rings to be up to
8 per port if the default rings x NIC ports <= total CPUs.

Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d4f52de0
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -8393,9 +8393,15 @@ static int bnxt_set_dflt_rings(struct bnxt *bp, bool sh)
	if (sh)
		bp->flags |= BNXT_FLAG_SHARED_RINGS;
	dflt_rings = netif_get_num_default_rss_queues();
	/* Reduce default rings to reduce memory usage on multi-port cards */
	if (bp->port_count > 1)
		dflt_rings = min_t(int, dflt_rings, 4);
	/* Reduce default rings on multi-port cards so that total default
	 * rings do not exceed CPU count.
	 */
	if (bp->port_count > 1) {
		int max_rings =
			max_t(int, num_online_cpus() / bp->port_count, 1);

		dflt_rings = min_t(int, dflt_rings, max_rings);
	}
	rc = bnxt_get_dflt_rings(bp, &max_rx_rings, &max_tx_rings, sh);
	if (rc)
		return rc;