提交 85eacf3f 编写于 作者: G Ganesh Goudar 提交者: David S. Miller

cxgb4: reduce resource allocation in kdump kernel

When is_kdump_kernel() is true, reduce memory footprint of
cxgb4 by using a single "Queue Set".
Signed-off-by: NGanesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 9ad09803
...@@ -891,7 +891,7 @@ static u16 cxgb_select_queue(struct net_device *dev, struct sk_buff *skb, ...@@ -891,7 +891,7 @@ static u16 cxgb_select_queue(struct net_device *dev, struct sk_buff *skb,
* The skb's priority is determined via the VLAN Tag Priority Code * The skb's priority is determined via the VLAN Tag Priority Code
* Point field. * Point field.
*/ */
if (cxgb4_dcb_enabled(dev)) { if (cxgb4_dcb_enabled(dev) && !is_kdump_kernel()) {
u16 vlan_tci; u16 vlan_tci;
int err; int err;
...@@ -4007,10 +4007,7 @@ static void cfg_queues(struct adapter *adap) ...@@ -4007,10 +4007,7 @@ static void cfg_queues(struct adapter *adap)
/* Reduce memory usage in kdump environment, disable all offload. /* Reduce memory usage in kdump environment, disable all offload.
*/ */
if (is_kdump_kernel()) { if (is_kdump_kernel() || (is_uld(adap) && t4_uld_mem_alloc(adap))) {
adap->params.offload = 0;
adap->params.crypto = 0;
} else if (is_uld(adap) && t4_uld_mem_alloc(adap)) {
adap->params.offload = 0; adap->params.offload = 0;
adap->params.crypto = 0; adap->params.crypto = 0;
} }
...@@ -4031,7 +4028,7 @@ static void cfg_queues(struct adapter *adap) ...@@ -4031,7 +4028,7 @@ static void cfg_queues(struct adapter *adap)
struct port_info *pi = adap2pinfo(adap, i); struct port_info *pi = adap2pinfo(adap, i);
pi->first_qset = qidx; pi->first_qset = qidx;
pi->nqsets = 8; pi->nqsets = is_kdump_kernel() ? 1 : 8;
qidx += pi->nqsets; qidx += pi->nqsets;
} }
#else /* !CONFIG_CHELSIO_T4_DCB */ #else /* !CONFIG_CHELSIO_T4_DCB */
...@@ -4044,6 +4041,9 @@ static void cfg_queues(struct adapter *adap) ...@@ -4044,6 +4041,9 @@ static void cfg_queues(struct adapter *adap)
if (q10g > netif_get_num_default_rss_queues()) if (q10g > netif_get_num_default_rss_queues())
q10g = netif_get_num_default_rss_queues(); q10g = netif_get_num_default_rss_queues();
if (is_kdump_kernel())
q10g = 1;
for_each_port(adap, i) { for_each_port(adap, i) {
struct port_info *pi = adap2pinfo(adap, i); struct port_info *pi = adap2pinfo(adap, i);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册