e1000: Report corrected LAN management FIFO ECC errors
I350 and I354 report a corrected ECC error in the LAN transmit
management FIFO through LANPERRSTS bit 16. Unlike the parity status in
the same register, this condition neither interrupts nor stops traffic.
Poll the latch with the other corrected error status, increment a
dedicated counter, and clear only its RW1C bit. Expose it as
dev.igb.N.memory_errors.corrected_lan_mng_fifo.
Fatal error handling returns before the periodic statistics sweep and
may reset the device. Drain all I350 and I354 corrected-error status in
the admin task before recovery so the reset does not discard pending
indications.
This follows section 6.21.16 of the Intel Atom Processor C2000 Product
Family Integrated GbE Controller Programmer's Reference Manual,
document 537426 revision 1.5.
[2 lines not shown]
e1000: Handle I354 internal memory errors
The Atom C2000 integrated GbE programming reference documents the I354
internal memory error architecture. It shares the I350 PEIND and
ICR.FER routing, DMA and packet-buffer status, LAN parity status, and
required reset recovery.
Extend the existing I350 recovery and corrected error accounting paths
to I354. Keep the PCIe corrected error mask family-specific. C2000
PCIEECCSTS ends at the transmit write-data indication in bit 4 and does
not implement the I350 retry buffer indication in bit 5. Do not expose
the corresponding retry counter on I354.
The PRM overview says a PCIe region failure requires a system reboot,
while the individual PCIEERRSTS fields prescribe CTRL.RST followed by
port reinitialization. Use the register specific recovery, matching the
existing I350 path; failed reinitialization still leaves the port down.
This follows sections 5.6 and 6.21 of the Intel Atom Processor C2000
[5 lines not shown]
crypto/openssl: update generated content to match 3.5.8 release
This contains 2 new manpages as well as some minor manpage content
changes.
MFC with: 78e936b2d
crypto/openssl: update to 3.5.8
This is a security bugfix release. Please see the related merge commit
for more details.
Maintainer note: `quic_ackm.h`'s conflict was resolved by taking
the upstream version of the file verbatim.
Conflicts:
crypto/openssl/include/internal/quic_ackm.h
MFC after: 3 days
Merge commit '248da023ae5ea7292930ac5d715d88b87e2e6f46'
crypto/openssl: remove large test input file
This file was added between 3.5.7 and 3.5.8. Given that we don't yet leverage
the OpenSSL tests, there's no sense in merging this file to mainline branches..
Remove large test input file
This file was added between 3.0.21 and 3.0.22. Given that we don't yet leverage
the OpenSSL tests, there's no sense in merging this file to mainline branches.
gstripe: Increase children I/O sizes
Originally gstripe created a separate child I/O for every accessed
stripe, making it very inefficient for small stripe sizes. Later
introduced "fast" mode reduced that count for read/write requests
by copying the data to/from temporary contiguous buffers, wasting
memory bandwidth and CPU time. This commit implements alternative
method, utilizing unmapped I/O mechanism to assemble children I/Os
from pages of the original I/O, avoiding any copying. This method
though has some limitations, such as stripe size can not be smaller
than CPU page size, or buffer and offset page phases should match
(may be page aligned, but not necessarily). But those limitations
are not an issue in many cases, since ZFS, for example, can often
align its buffers (BTW, dd doesn't). Plus, unlike "fast" method,
this one can receive (and even prefers) unmapped I/Os.
While there, re-implement also BIO_DELETE. Since they don't have
any data, there is no any reason to create more than one child I/O
per disk. It also dramatically improves performance there.
[3 lines not shown]
snd_hdsp: Avoid allocation in the interrupt handler
Cache PCM children instead of calling device_get_children() from the
interrupt handler. Drain callbacks before child detach so cached
pointers cannot outlive the PCM softc. Allocate the parent softc by
its actual size.
This mirrors snd_hdspe's interrupt dispatch and detach lifecycle.
Reported by: christos
(cherry picked from commit 74db53d5d7657d0508940d1193f05a39df85434a)