From: Michal Schmidt Date: Tue, 25 Feb 2014 15:04:25 +0000 (+0100) Subject: bnx2x: save RAM in kdump kernel by using a single queue X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=ff2ad3071f56697920a7154ca301fd45d17d57d2;p=openwrt%2Fstaging%2Fblogic.git bnx2x: save RAM in kdump kernel by using a single queue When running in a kdump kernel, make sure to use only a single ethernet queue even if a num_queues option in /etc/modprobe.d/*.conf would specify otherwise. This saves memory, which tends to be scarce in kdump. This saves about 40 MB in the kdump environment on a setup with num_queues=8 in the config file. Signed-off-by: Michal Schmidt Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c index 34d124998823..26bc25bd465d 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c @@ -62,6 +62,11 @@ static void bnx2x_add_all_napi(struct bnx2x *bp) static int bnx2x_calc_num_queues(struct bnx2x *bp) { int nq = bnx2x_num_queues ? : netif_get_num_default_rss_queues(); + + /* Reduce memory usage in kdump environment by using only one queue */ + if (reset_devices) + nq = 1; + nq = clamp(nq, 1, BNX2X_MAX_QUEUES(bp)); return nq; }