Home | History | Annotate | Download | only in ixgbe

Lines Matching refs:queues

358  * Number of Queues, can be set to 0,
365 "Number of queues to configure, 0 indicates autoconfigure");
590 int regnum = i / 4; /* 1 register per 4 queues */
681 int regnum = i / 4; /* 1 register per 4 queues */
989 /* Allocate our TX/RX Queues */
1151 /* Allocate our TX/RX Queues again */
1890 snprintf(sc->queues[i].evnamebuf,
1891 sizeof(sc->queues[i].evnamebuf), "%s q%d", xname, i);
1892 snprintf(sc->queues[i].namebuf,
1893 sizeof(sc->queues[i].namebuf), "q%d", i);
1903 sc->queues[i].namebuf, SYSCTL_DESCR("Queue Name"),
1911 (void *)&sc->queues[i], 0, CTL_CREATE, CTL_EOL) != 0)
1956 evcnt_attach_dynamic(&sc->queues[i].irqs, EVCNT_TYPE_INTR,
1957 NULL, sc->queues[i].evnamebuf, "IRQs on queue");
1958 evcnt_attach_dynamic(&sc->queues[i].handleq,
1959 EVCNT_TYPE_MISC, NULL, sc->queues[i].evnamebuf,
1961 evcnt_attach_dynamic(&sc->queues[i].req, EVCNT_TYPE_MISC,
1962 NULL, sc->queues[i].evnamebuf, "Requeued in softint");
1965 NULL, sc->queues[i].evnamebuf,
1968 NULL, sc->queues[i].evnamebuf,
1972 NULL, sc->queues[i].evnamebuf,
1976 NULL, sc->queues[i].evnamebuf,
1980 NULL, sc->queues[i].evnamebuf,
1983 NULL, sc->queues[i].evnamebuf, "TSO");
1986 NULL, sc->queues[i].evnamebuf,
1990 NULL, sc->queues[i].evnamebuf,
1993 NULL, sc->queues[i].evnamebuf,
1997 NULL, sc->queues[i].evnamebuf,
2003 sc->queues[i].evnamebuf,
2007 NULL, sc->queues[i].evnamebuf, "Rx no mbuf");
2009 NULL, sc->queues[i].evnamebuf, "Rx discarded");
2011 NULL, sc->queues[i].evnamebuf, "Copied RX Frames");
2180 IXGBE_EVC_STORE(&sc->queues[i].irqs, 0);
2181 IXGBE_EVC_STORE(&sc->queues[i].handleq, 0);
2182 IXGBE_EVC_STORE(&sc->queues[i].req, 0);
2520 /* Setup the queues for vlans */
2714 struct ix_queue *que = &sc->queues[vector];
2744 struct ix_queue *que = &sc->queues[vector];
3465 "num_queues", SYSCTL_DESCR("Number of queues"),
3648 struct ix_queue *que = sc->queues;
3796 evcnt_detach(&sc->queues[i].irqs);
3797 evcnt_detach(&sc->queues[i].handleq);
3798 evcnt_detach(&sc->queues[i].req);
4073 for (i = 0, que = sc->queues; i < sc->num_queues; i++, que++)
4141 /* Now enable all the queues */
4384 struct ix_queue *que = sc->queues;
4616 struct ix_queue *que = sc->queues;
4617 u64 queues = 0;
4658 que = sc->queues;
4681 * Check the TX queues status
4682 * - mark hung queues so we don't schedule on them
4683 * - watchdog only if all queues show hung
4685 que = sc->queues;
4687 /* Keep track of queues with work for soft irq */
4689 queues |= 1ULL << que->me;
4713 /* Only truly watchdog if all queues show hung */
4717 else if (queues != 0) { /* Force an IRQ on queues with work */
4718 que = sc->queues;
4723 queues & ((u64)1 << i));
5068 struct ix_queue *que = sc->queues;
5173 struct ix_queue *que = sc->queues;
5238 * Now enable all queues, this is done separately to
5255 struct ix_queue *que = sc->queues;
5257 /* disable interrupts other than queues */
5364 struct ix_queue *que = sc->queues;
6194 printf("%8d", sc->queues[i].disabled_count);
6708 if ((&sc->queues[0] == que)
6752 struct ix_queue *que = sc->queues;
6861 struct ix_queue *que = sc->queues;
6879 * If we're doing RSS, the number of queues needs to
6882 * + If there's more queues than RSS buckets, we'll end
6883 * up with queues that get no traffic.
6885 * + If there's more RSS buckets than queues, we'll end
6893 "%s: number of queues (%d) != number of RSS buckets (%d)"
7066 int want, queues, msgs;
7091 queues = (ncpu > (msgs - 1)) ? (msgs - 1) : ncpu;
7096 queues = uimin(queues, rss_getnumbuckets());
7098 if (ixgbe_num_queues > queues) {
7101 "using reduced amount (%d).\n", ixgbe_num_queues, queues);
7102 ixgbe_num_queues = queues;
7106 queues = ixgbe_num_queues;
7108 queues = uimin(queues,
7115 want = queues + 1;
7120 "%d vectors but %d queues wanted!\n", msgs, want);
7123 sc->num_queues = queues;
7187 ixgbe_rearm_queues(struct ixgbe_softc *sc, u64 queues)
7193 mask = (IXGBE_EIMS_RTX_QUEUE & queues);
7201 mask = (queues & 0xFFFFFFFF);
7203 mask = (queues >> 32);