> Does this help?
> mbuhl
> Index: dev/pci/if_igc.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/if_igc.c,v
> retrieving revision 1.9
> diff -u -p -r1.9 if_igc.c
> --- dev/pci/if_igc.c 2 Jun 2022 07:41:17 -0000 1.9
> +++ dev/pci/if_igc.c 8 Nov 2022 10:35:39 -0000
> @@ -978,7 +978,7 @@ igc_start(struct ifqueue *ifq)
> mask = sc->num_tx_desc - 1;
>
> for (;;) {
> - if (free <= IGC_MAX_SCATTER) {
> + if (free <= IGC_MAX_SCATTER + 1) {
> ifq_set_oactive(ifq);
> break;
> }
> @@ -1005,6 +1005,7 @@ igc_start(struct ifqueue *ifq)
> /* Consume the first descriptor */
> prod++;
> prod &= mask;
> + free--;
> }
>
> for (i = 0; i < map->dm_nsegs; i++) {
i wouldn't say it helps. it grew by a hundred(from ~550 to ~650) in four hours.
at the same time, there is no network load. but it is necessary, of course, to
observe longer.
654 mbufs in use:
591 mbufs allocated to data
52 mbufs allocated to packet headers
11 mbufs allocated to socket names and addresses
255/320 mbuf 2048 byte clusters in use (current/peak)
311/450 mbuf 2112 byte clusters in use (current/peak)
0/48 mbuf 4096 byte clusters in use (current/peak)
16/32 mbuf 8192 byte clusters in use (current/peak)
0/14 mbuf 9216 byte clusters in use (current/peak)
0/10 mbuf 12288 byte clusters in use (current/peak)
0/8 mbuf 16384 byte clusters in use (current/peak)
0/16 mbuf 65536 byte clusters in use (current/peak)
3656/3656/1048576 Kbytes allocated to network (current/peak/max)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines