summaryrefslogtreecommitdiffstats
path: root/sys/net/if_wg.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2020-06-22 19:18:02 -0600
committerJason A. Donenfeld <Jason@zx2c4.com>2020-06-22 22:25:15 -0600
commitea5a67f561f3dcb57f77484d1c2d30e3473f5352 (patch)
tree1d96faa585592859913b478dace73883e04e11ad /sys/net/if_wg.c
parentadd intrmap_one, some temp code to help us write pci_intr_establish_cpu. (diff)
downloadwireguard-openbsd-jd/histogram.tar.xz
wireguard-openbsd-jd/histogram.zip
Histogramjd/histogram
Diffstat (limited to 'sys/net/if_wg.c')
-rw-r--r--sys/net/if_wg.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/net/if_wg.c b/sys/net/if_wg.c
index e27a575cc1b..9e23dfb60ee 100644
--- a/sys/net/if_wg.c
+++ b/sys/net/if_wg.c
@@ -1681,13 +1681,26 @@ error:
task_add(net_tq(sc->sc_if.if_index), &peer->p_deliver_in);
}
+#define BUCKETS 512
+static unsigned int buckets[BUCKETS];
+unsigned int times;
+
void
wg_encap_worker(void *_sc)
{
struct mbuf *m;
struct wg_softc *sc = _sc;
- while ((m = wg_ring_dequeue(&sc->sc_encap_ring)) != NULL)
+ unsigned int i = 0;
+ while ((m = wg_ring_dequeue(&sc->sc_encap_ring)) != NULL) {
wg_encap(sc, m);
+ ++i;
+ }
+ if (i < BUCKETS)
+ ++buckets[i];
+ if (times++ == 4096 * 8) {
+ for (i = 0; i < BUCKETS; ++i)
+ DPRINTF(sc, "%u: %u\n", i, buckets[i]);
+ }
}
void