FreeBSD/src c601863share/man/man4 igc.4

igc(4): document adaptive interrupt moderation

Describe the disabled, adaptive, and low-latency settings and their
interrupt-rate tradeoffs.

(cherry picked from commit 297394e995e5ea1ea9bc85e609ca116255d51e97)
DeltaFile
+14-0share/man/man4/igc.4
+14-01 files

FreeBSD/src c303e5asys/dev/igc igc_txrx.c

igc: count TSO wire segments in the AIM counters

The transmit path bills one packet of ipi_len bytes per request.  For
TSO that is the whole unsegmented payload, up to 64 KiB, rather than a
packet size that appears on the wire.

Count the segments the hardware emits and the header carried by each
segment.  Non-TSO accounting is unchanged.

(cherry picked from commit e389a05164ccb1dd41ee8d7f09203b475322dd72)
DeltaFile
+19-2sys/dev/igc/igc_txrx.c
+19-21 files

FreeBSD/src 010ed39sys/dev/igc if_igc.h if_igc.c

igc: use packet-size AIM

Use the packet-size calculation introduced for igb(4) in a69ed8dfb381
and retained there until the iflib conversion in f2d6ace4a684.  It
derives interrupt holdoff from average packet size, so RSS queue count
does not change its behavior.

The calculation follows the pre-iflib igb code.  Retain igc's normal and
low-latency rate caps, and keep the current setting when an interval has
no usable sample.

(cherry picked from commit 01e7acd38d411c78caba1c4078bb3683f586e1c2)
DeltaFile
+67-108sys/dev/igc/if_igc.c
+8-3sys/dev/igc/if_igc.h
+75-1112 files

FreeBSD/src a99fd9dsys/dev/igc if_igc.h if_igc.c

igc: synchronize interrupt moderation state

Keep the saved EITR value synchronized with hardware across
reinitialization.  Correct EITR encoding, decoding, and MSI-X register
selection, and reject nonpositive fallback rates.

Apply the packet-buffer fallback without permanently disabling AIM.

(cherry picked from commit e35533457530bb9db655e6137c2eea790e18b97b)
DeltaFile
+25-10sys/dev/igc/if_igc.c
+4-2sys/dev/igc/if_igc.h
+29-122 files

FreeBSD/src 7db1936sys/dev/igc igc_txrx.c if_igc.h

igc: make AIM counter sampling coherent

Sample free-running counters by delta instead of clearing them from the
interrupt filter, which can race their producers.  Publish byte and
packet counts together at the TX and RX doorbells so each sample is
coherent.

Aggregate every TX ring assigned to the interrupt vector so unequal RX
and TX queue counts are safe.  Count RX bytes only after a frame is
accepted.

(cherry picked from commit 2290ea7f4311e899019fe77bf7c7775033af6b24)
DeltaFile
+72-25sys/dev/igc/if_igc.c
+41-4sys/dev/igc/if_igc.h
+3-1sys/dev/igc/igc_txrx.c
+116-303 files

FreeBSD/src d182de3sys/dev/igc igc_txrx.c

igc: fix RX accounting for multi-descriptor packets

The receive path adds the running packet length to rx_bytes for every
descriptor.  A packet spanning descriptors of length l1, l2, and l3 is
therefore counted as 3*l1 + 2*l2 + l3.

Add each descriptor length once.  Single-descriptor accounting remains
unchanged.

(cherry picked from commit bbf0372feeb321a5bfeff7b1e79576ab01240441)
DeltaFile
+1-1sys/dev/igc/igc_txrx.c
+1-11 files

FreeBSD/src 3edb66ashare/man/man4 em.4

em(4): document adaptive interrupt moderation

Describe the disabled, adaptive, and low-latency settings and their
interrupt-rate tradeoffs.

(cherry picked from commit b6b379b94781da5d4328f6f57273fbe7bd9dc687)
DeltaFile
+14-0share/man/man4/em.4
+14-01 files

FreeBSD/src dcf605esys/dev/e1000 igb_txrx.c em_txrx.c

e1000: count TSO wire segments in the AIM counters

The transmit paths billed one packet of ipi_len bytes per request.  For
TSO that is the whole unsegmented payload, up to 64KB, so the average
size the moderation calculation sees is not a size that appears on the
wire.

Count the segments the hardware will put on the wire and the header each
of them carries.

Non-TSO accounting is unchanged.

(cherry picked from commit 072e0983d7bce80356740324973993393e77023a)
DeltaFile
+19-2sys/dev/e1000/igb_txrx.c
+19-2sys/dev/e1000/em_txrx.c
+38-42 files

FreeBSD/src a1281bfsys/dev/e1000 if_em.h if_em.c

e1000: restore packet-size AIM

Restore the packet-size calculation introduced in a69ed8dfb381 and used
by igb(4) until the iflib conversion in f2d6ace4a684.  It derives
interrupt holdoff from average packet size, so RSS queue count does not
change its behavior.

The calculation follows the pre-iflib code.  Retain the current normal
and low-latency rate caps, and keep the current setting when an interval
has no usable sample.

Fixes:          3e501ef89667 ("e1000: Re-add AIM")

(cherry picked from commit dc4a5087b160c1a94d135ab636642defe2c71c20)
DeltaFile
+67-107sys/dev/e1000/if_em.c
+8-3sys/dev/e1000/if_em.h
+75-1102 files

FreeBSD/src decb309sys/dev/e1000 if_em.h if_em.c

e1000: synchronize interrupt moderation state

Keep the saved EITR and PBA values synchronized with hardware across
reinitialization.  Correct EITR encoding, decoding, and MSI-X register
selection, and reject nonpositive fallback rates.

Treat only sub-gigabit links as sub-gigabit and apply the packet-buffer
fallback without permanently disabling AIM.

(cherry picked from commit 6ef368a29b11ebc769e7929566809b75ae2c1e90)
DeltaFile
+38-22sys/dev/e1000/if_em.c
+4-2sys/dev/e1000/if_em.h
+42-242 files

FreeBSD/src 5a6f6e9sys/dev/e1000 igb_txrx.c em_txrx.c

e1000: make AIM counter sampling coherent

Sample free-running counters by delta instead of clearing them from the
interrupt filter, which can race their producers.  Publish byte and
packet counts together at the TX and RX doorbells so each sample is
coherent.

Aggregate every TX ring assigned to the interrupt vector so unequal RX
and TX queue counts are safe.  Count RX bytes only after a frame is
accepted.

(cherry picked from commit bc5e7b0cbbb555ffebc7d73b273c421f9ee24c23)
DeltaFile
+72-25sys/dev/e1000/if_em.c
+42-4sys/dev/e1000/if_em.h
+6-2sys/dev/e1000/em_txrx.c
+3-1sys/dev/e1000/igb_txrx.c
+123-324 files

FreeBSD/src a0f27dcsys/dev/ixl ixl.h

ixl: Increase tx/rx ring size to 8160

I've verified the tx queue (table 8-22) in addition.

DPDK commit message

net/i40e: increase max descriptor queue length
According to the Intel X710/XXV710/XL710 Datasheet, the maximum receive
queue descriptor length is 0x1FE0 (8160 in base 10). This is specified
as QLEN in table 8-12, page 1083.

I've tested this change with an XXV710 NIC and it has positive effect on
performance under high load scenarios. Where previously I'd get
~2000 packets/sec miss rate, now I get only ~40 packets/sec miss rate.

Signed-off-by: Igor Gutorov <igootorov at gmail.com>
Acked-by: Morten Brørup <mb at smartsharesystems.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>


    [3 lines not shown]
DeltaFile
+1-1sys/dev/ixl/ixl.h
+1-11 files

DragonFlyBSD/src e8a6211sys/conf kern.post.mk newvers.sh

kernel: Refactor newvers.sh script

* Require and directly use 'KERN_IDENT' from the environment.  This
  avoids the 'make -V KERN_IDENT' command and thus fix the following
  warning from bmake since the last upgrade to 20260619:
  ```
  make[3]: warning: Invalid internal option "-J" in "/usr/obj/usr/src/sys/ALY"; see the manual page
  ```

* Leverage the new tools/gencopyright.sh script to generate the
  copyright header.

* Simplify the awk command that extracts '__DragonFly_version' from
  <sys/param.h> (referred to FreeBSD).

* Clean up code and styles.
DeltaFile
+51-52sys/conf/newvers.sh
+2-1sys/conf/kern.post.mk
+53-532 files

FreeBSD/src a5b3b04share/man/man4 igc.4

igc(4): document adaptive interrupt moderation

Describe the disabled, adaptive, and low-latency settings and their
interrupt-rate tradeoffs.

(cherry picked from commit 297394e995e5ea1ea9bc85e609ca116255d51e97)
DeltaFile
+14-0share/man/man4/igc.4
+14-01 files

FreeBSD/src adaa4c6sys/dev/igc igc_txrx.c

igc: count TSO wire segments in the AIM counters

The transmit path bills one packet of ipi_len bytes per request.  For
TSO that is the whole unsegmented payload, up to 64 KiB, rather than a
packet size that appears on the wire.

Count the segments the hardware emits and the header carried by each
segment.  Non-TSO accounting is unchanged.

(cherry picked from commit e389a05164ccb1dd41ee8d7f09203b475322dd72)
DeltaFile
+19-2sys/dev/igc/igc_txrx.c
+19-21 files

FreeBSD/src 169f8c6sys/dev/igc if_igc.h if_igc.c

igc: use packet-size AIM

Use the packet-size calculation introduced for igb(4) in a69ed8dfb381
and retained there until the iflib conversion in f2d6ace4a684.  It
derives interrupt holdoff from average packet size, so RSS queue count
does not change its behavior.

The calculation follows the pre-iflib igb code.  Retain igc's normal and
low-latency rate caps, and keep the current setting when an interval has
no usable sample.

(cherry picked from commit 01e7acd38d411c78caba1c4078bb3683f586e1c2)
DeltaFile
+67-108sys/dev/igc/if_igc.c
+8-3sys/dev/igc/if_igc.h
+75-1112 files

FreeBSD/src a00bd48sys/dev/igc if_igc.h if_igc.c

igc: synchronize interrupt moderation state

Keep the saved EITR value synchronized with hardware across
reinitialization.  Correct EITR encoding, decoding, and MSI-X register
selection, and reject nonpositive fallback rates.

Apply the packet-buffer fallback without permanently disabling AIM.

(cherry picked from commit e35533457530bb9db655e6137c2eea790e18b97b)
DeltaFile
+25-10sys/dev/igc/if_igc.c
+4-2sys/dev/igc/if_igc.h
+29-122 files

FreeBSD/src d93ee05sys/dev/igc igc_txrx.c if_igc.h

igc: make AIM counter sampling coherent

Sample free-running counters by delta instead of clearing them from the
interrupt filter, which can race their producers.  Publish byte and
packet counts together at the TX and RX doorbells so each sample is
coherent.

Aggregate every TX ring assigned to the interrupt vector so unequal RX
and TX queue counts are safe.  Count RX bytes only after a frame is
accepted.

(cherry picked from commit 2290ea7f4311e899019fe77bf7c7775033af6b24)
DeltaFile
+72-25sys/dev/igc/if_igc.c
+41-4sys/dev/igc/if_igc.h
+3-1sys/dev/igc/igc_txrx.c
+116-303 files

FreeBSD/src 37513bfsys/dev/igc igc_txrx.c

igc: fix RX accounting for multi-descriptor packets

The receive path adds the running packet length to rx_bytes for every
descriptor.  A packet spanning descriptors of length l1, l2, and l3 is
therefore counted as 3*l1 + 2*l2 + l3.

Add each descriptor length once.  Single-descriptor accounting remains
unchanged.

(cherry picked from commit bbf0372feeb321a5bfeff7b1e79576ab01240441)
DeltaFile
+1-1sys/dev/igc/igc_txrx.c
+1-11 files

FreeBSD/src 871efe1share/man/man4 em.4

em(4): document adaptive interrupt moderation

Describe the disabled, adaptive, and low-latency settings and their
interrupt-rate tradeoffs.

(cherry picked from commit b6b379b94781da5d4328f6f57273fbe7bd9dc687)
DeltaFile
+14-0share/man/man4/em.4
+14-01 files

FreeBSD/src 3845087sys/dev/e1000 igb_txrx.c em_txrx.c

e1000: count TSO wire segments in the AIM counters

The transmit paths billed one packet of ipi_len bytes per request.  For
TSO that is the whole unsegmented payload, up to 64KB, so the average
size the moderation calculation sees is not a size that appears on the
wire.

Count the segments the hardware will put on the wire and the header each
of them carries.

Non-TSO accounting is unchanged.

(cherry picked from commit 072e0983d7bce80356740324973993393e77023a)
DeltaFile
+19-2sys/dev/e1000/igb_txrx.c
+19-2sys/dev/e1000/em_txrx.c
+38-42 files

FreeBSD/src 5b380c2sys/dev/e1000 if_em.h if_em.c

e1000: restore packet-size AIM

Restore the packet-size calculation introduced in a69ed8dfb381 and used
by igb(4) until the iflib conversion in f2d6ace4a684.  It derives
interrupt holdoff from average packet size, so RSS queue count does not
change its behavior.

The calculation follows the pre-iflib code.  Retain the current normal
and low-latency rate caps, and keep the current setting when an interval
has no usable sample.

Fixes:          3e501ef89667 ("e1000: Re-add AIM")

(cherry picked from commit dc4a5087b160c1a94d135ab636642defe2c71c20)
DeltaFile
+67-107sys/dev/e1000/if_em.c
+8-3sys/dev/e1000/if_em.h
+75-1102 files

FreeBSD/src 1c8d599sys/dev/e1000 if_em.h if_em.c

e1000: synchronize interrupt moderation state

Keep the saved EITR and PBA values synchronized with hardware across
reinitialization.  Correct EITR encoding, decoding, and MSI-X register
selection, and reject nonpositive fallback rates.

Treat only sub-gigabit links as sub-gigabit and apply the packet-buffer
fallback without permanently disabling AIM.

(cherry picked from commit 6ef368a29b11ebc769e7929566809b75ae2c1e90)
DeltaFile
+38-22sys/dev/e1000/if_em.c
+4-2sys/dev/e1000/if_em.h
+42-242 files

FreeBSD/src e8cf1bfsys/dev/e1000 igb_txrx.c em_txrx.c

e1000: make AIM counter sampling coherent

Sample free-running counters by delta instead of clearing them from the
interrupt filter, which can race their producers.  Publish byte and
packet counts together at the TX and RX doorbells so each sample is
coherent.

Aggregate every TX ring assigned to the interrupt vector so unequal RX
and TX queue counts are safe.  Count RX bytes only after a frame is
accepted.

(cherry picked from commit bc5e7b0cbbb555ffebc7d73b273c421f9ee24c23)
DeltaFile
+72-25sys/dev/e1000/if_em.c
+42-4sys/dev/e1000/if_em.h
+6-2sys/dev/e1000/em_txrx.c
+3-1sys/dev/e1000/igb_txrx.c
+123-324 files

OpenBSD/ports ZNoMyUSx11/gnome/maps Makefile distinfo

   Update to gnome-maps-50.3.
VersionDeltaFile
1.93+2-2x11/gnome/maps/distinfo
1.127+1-1x11/gnome/maps/Makefile
+3-32 files

DragonFlyBSD/src 18323e1include Makefile, tools gencopyright.sh

include: Rewrite generation of <osreldate.h>

* Add the new tools/gencopyright.sh script to generate the copyright
  header.  Prefer the copyright year extracted from top-level COPYRIGHT,
  similar to FreeBSD's.

* Directly extract the __DragonFly_version from <sys/param.h> as RELDATE
  instead of calling newvers.sh.  As a result, no need to clean up the
  extra-generated files: version, vers.c and vers.txt.

By the way, this also avoids a few bmake warnings appeared after the
recent bmake upgrade (to 20260619):
```
make[2]: warning: Invalid internal option "-J" in "/usr/src"; see the manual page
make[2]: warning: Invalid internal option "-J" in "/usr/src"; see the manual page
make[2]: warning: Invalid internal option "-J" in "/usr/src"; see the manual page
make[5]: warning: Invalid internal option "-J" in "/usr/obj/usr/src/world_x86_64/usr/src/include"; see the manual page
make[2]: warning: Invalid internal option "-J" in "/usr/src"; see the manual page
make[2]: warning: Invalid internal option "-J" in "/usr/src"; see the manual page

    [4 lines not shown]
DeltaFile
+26-0tools/gencopyright.sh
+12-12include/Makefile
+38-122 files

DragonFlyBSD/src f56704fshare/man/man9 kprintf.9

kprintf.9: Document the return value of ksnprintf()/kvsnprintf()
DeltaFile
+15-4share/man/man9/kprintf.9
+15-41 files

DragonFlyBSD/src 6303926sys/netinet6 icmp6.c nd6.c

kernel: Change ip6_sprintf() not to use static buffers

Now the caller must pass a buffer of size at least INET6_ADDRSTRLEN.

Derived-from: FreeBSD (commit 1d54aa3ba94f4d9883b0746ce45123d5b5be773b)
DeltaFile
+73-41sys/netinet6/ip6_mroute.c
+52-31sys/netinet6/nd6_rtr.c
+29-28sys/netinet6/in6.c
+36-21sys/netinet6/nd6_nbr.c
+32-18sys/netinet6/nd6.c
+23-10sys/netinet6/icmp6.c
+245-14912 files not shown
+307-19218 files

DragonFlyBSD/src fdf5103sys/kern kern_jail.c

jail: Fix potential buffer overflow in sysctl_jail_list()

sysctl_jail_list() allocates a buffer of size = count*1024, and then
uses ksnprintf() to format the jail information and advance the write
position. However, ksnprintf() returns the would-be length (i.e., the
number of bytes would be written if the buffer is big enough). So a jail
that has a very long path and/or many IPs would overflow the allocated
buffer.

Fix the bug by correctly handling the return value of ksnprintf().

GitHub-PR: #45
Reported-by: Nathan Sapwell (jewbird)
DeltaFile
+6-6sys/kern/kern_jail.c
+6-61 files

DragonFlyBSD/src 9257500sys/kern kern_jail.c

jail: Clean up sysctl_jail_list()

No functional changes.
DeltaFile
+23-31sys/kern/kern_jail.c
+23-311 files