summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornp <np@FreeBSD.org>2010-01-20 07:28:14 +0000
committernp <np@FreeBSD.org>2010-01-20 07:28:14 +0000
commit0e66c9e981374acdea57b75c620676ce7afb15bd (patch)
treee48e3edae515983e1b15c943f5a963c3183148f6
parentd9e0a6f31b1a51c571cb2c93fb0adc9399103942 (diff)
downloadFreeBSD-src-0e66c9e981374acdea57b75c620676ce7afb15bd.zip
FreeBSD-src-0e66c9e981374acdea57b75c620676ce7afb15bd.tar.gz
Complain if freelist queue sizes are significantly less than desired.
MFC after: 1 day
-rw-r--r--sys/dev/cxgb/cxgb_sge.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/cxgb/cxgb_sge.c b/sys/dev/cxgb/cxgb_sge.c
index dc2aee8..88478b2 100644
--- a/sys/dev/cxgb/cxgb_sge.c
+++ b/sys/dev/cxgb/cxgb_sge.c
@@ -541,8 +541,12 @@ t3_sge_prep(adapter_t *adap, struct sge_params *p)
jumbo_q_size = min(nmbjumbo4/(3*nqsets), JUMBO_Q_SIZE);
#endif
while (!powerof2(jumbo_q_size))
- jumbo_q_size--;
-
+ jumbo_q_size--;
+
+ if (fl_q_size < (FL_Q_SIZE / 4) || jumbo_q_size < (JUMBO_Q_SIZE / 2))
+ device_printf(adap->dev,
+ "Insufficient clusters and/or jumbo buffers.\n");
+
/* XXX Does ETHER_ALIGN need to be accounted for here? */
p->max_pkt_size = adap->sge.qs[0].fl[1].buf_size - sizeof(struct cpl_rx_data);
OpenPOWER on IntegriCloud