netmap: ring size limit not enough for multi-queue em(4)

Also mutes a spammy message.  Bravely going where no man
has gone before.  :)
This commit is contained in:
Franco Fichtner 2015-11-20 10:52:00 +01:00
parent 1b30333825
commit 00bed2565c
3 changed files with 3 additions and 2 deletions

View file

@ -2920,7 +2920,7 @@ netmap_transmit(struct ifnet *ifp, struct mbuf *m)
if (space < 0)
space += kring->nkr_num_slots;
if (space + mbq_len(q) >= kring->nkr_num_slots - 1) { // XXX
RD(10, "%s full hwcur %d hwtail %d qlen %d len %d m %p",
NRD(10, "%s full hwcur %d hwtail %d qlen %d len %d m %p",
na->name, kring->nr_hwcur, kring->nr_hwtail, mbq_len(q),
len, m);
} else {

View file

@ -182,6 +182,7 @@ struct hrtimer {
} while (0)
/* rate limited, lps indicates how many per second */
#define NRD(lps, format, ...)
#define RD(lps, format, ...) \
do { \
static int t0, __cnt; \

View file

@ -282,7 +282,7 @@ struct netmap_obj_params netmap_params[NETMAP_POOLS_NR] = {
.num = 100,
},
[NETMAP_RING_POOL] = {
.size = 9*PAGE_SIZE,
.size = 18*PAGE_SIZE,
.num = 200,
},
[NETMAP_BUF_POOL] = {