| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#16025 26b0f561b dnode_next_offset: backtrack if lower level does not match
#17758 c722bf881 Add interface to interface spa_get_worst_case_min_alloc()
function
#17765 8d4c3ee9e zvol: Fix blk-mq sync
#17787 8869caae5 zinject: Introduce ready delay fault injection
#17780 b2196fbed Fix 'zpool add' safety check corner cases
#17783 5c38029f4 zdb: add ZFS_KEYFORMAT_RAW support for -K option
#17786 f0a95e897 zpool iostat: refresh pool list every interval
#17807 -multiple zpool iostat: fix regressions in "all pools" mode
after #17786
#17793 -multiple ddt prune: Add SCL_ZIO deadlock workaround
#17799 ac2d8c80b Make mount/share errors non-fatal for zfs create/clone
Obtained from: OpenZFS
OpenZFS commit: 5605a6d79b3582296208ac391f93a5faf729fa92
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unlike NIC KTLS support on T6, T7 is able to reuse the existing TSO
functionality directly, including trimming the output of the crypto
engine before it is passed on to TSO. This is much simpler and does
not require the use of bypass pseudo-connections in the TOE engine.
Among other things this permits arbitrary TCP options (including the
full range of possible TCP timestamp values) while also avoiding
various edge cases where parts of a requested TCP packet could not
always be transmitted (e.g. partial trailers). This implementation
also permits NIC KTLS to be used in parallel with TOE.
This version does not yet support connections over a VF (specifically
the ktls_tunnel_packet function needs to handle the VF work request),
nor does it support VxLAN offload.
MFC after: 3 days
Sponsored by: Chelsio Communications
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both RDMA (iw_cxgbe) and NVMe offloads use TPT table entries to map
transaction tags in incoming PDUs to buffers in host memory permitting
direct placement of received data into host memory buffers avoiding
copies (iSCSI offload uses a different scheme for mapping tags to host
memory). Move the vmem arenas for the supporting card memory regions
from iw_cxgbe to the main driver so they can be shared with the NVMe
offload driver. In addition, add some helper routines for
constructing work requests to update TPT table entries.
MFC after: 3 days
Sponsored by: Chelsio Communications
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first of a series of commits that will add T7 support to
cxgbe. The ASIC is gen5x16 on the PCIe side and has a 400Gbps MAC on
the Ethernet side. NICs using the T7 will come in the following
variants:
* 1 x 400Gbps with QSFP-DD connector
* 2 x 200/100/40Gbps with QSFP56/QSFP28/QSFP+ connectors
* 4 x 50/25/10/1Gbps with SFP28/SFP+/SFP connectors
There are 8 general purpose ARM A72 cores available on select
SmartNIC/DPU boards.
Obtained from: Chelsio Communications
MFC after: 3 days
Sponsored by: Chelsio Communications
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add initial USB4 code written by Scott Long and originally passed on to
HPS (source: https://github.com/hselasky/usb4), minus the ICM code and
with some small fixes.
For context, older TB chips implemented the connection manager in
firmware (ICM) instead of in the OS (HCM), but maintaining the ICM code
would be a huge burden for not many chips.
Mostly completed work:
- Debug/trace framework.
- NHI controller driver.
- PCIe bridge driver.
- Router and config space layer handling (just reading in this commit).
Link to the email where Scott shared details about the initial USB4
work:
https://lists.freebsd.org/archives/freebsd-hackers/2024-July/003411.html
Glanced at by: emaste, imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D49450
Event: EuroBSDcon 2025
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17705 545d66204 Fix a printf format specifier on FreeBSD/i386
#17708 3387d3409 Fix atomic-alignment warnings in libspl on FreeBSD/i386
#17719 f319ff357 vdev_disk_close: take disk write lock before destroying it
#17732 1d2d81298 Refactor `zhack label repair` and fix `-c` regression on
nonzero TXG
#17764 ea37c30fc zdb: Fix asize overflow in verify_livelist_allocs()
Obtained from: OpenZFS
OpenZFS commit: b2196fbedf5dbfb8593288f5f9ba712e31429a84
|
|
|
|
|
|
|
|
|
| |
aarch64 and riscv are supported since 2023 so it should be safe to
enable it by default.
MFC after: 2 weeks
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D52575
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
xhci offers a debugging interface which uses a special usb 3 cable with the D+,
D- and VBUS pairs disconnected. This interface allows a target device to
configure its xhci controller as a debugging channel which can then be used to
provide a serial link between the target and a debug host.
This change extracts the udbc host mode driver from hrs@'s xhci debug
implementation.
Reviewed by: bcr (man page)
MFC after: Before 15-ALPHA3 builds
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51299
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enabled qat driver support for 402xx device with
ID 0x4944/0x4945. This is an additional device supported
under the existing qat_4xxx driver. Firmwares specific to
the 402xx device are added.
Signed-off-by: Hareshx Sankar Raj <hareshx.sankar.raj@intel.com>
Relnotes: yes
Sponsored by: Intel Corporation
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D52488
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc 13 and earlier don't have __builtin_bitcountg. The linux wifi kpi
uses this unconditionally. While in this one use, it might not be
needed, I opted to not compile iwlwifi when building gcc12 or 13 rather
than risk breaking it for everbody else.
With this change gcc12 builds the kernel. Maybe this will stop jenkins
email for every commit I make.
Sponsored by: Netflix
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17227 d64711c20 Detect a slow raidz child during reads
#17543 -multiple zfs allow send:raw
#17717 bc0b5318a Prevent scrubbing a read-only pool
#17722 cb5f9aa58 FreeBSD: Satisfy ASSERT_VOP_IN_SEQC()
#17729 3f4312a0a Fix two infinite loops if dmu_prefetch_max set to zero
#17730 37cd30f71 Fix ddle memleak in ddt_log_load
#17733 bc8bcfc71 Fix type in dbrrd_closest()
#17735 9b772f328 Fix time database update calculations
Obtained from: OpenZFS
OpenZFS commit: 3f4312a0a428624e596bb35ae4806ea0d4d69472
|
|
|
|
|
|
|
|
|
|
|
|
| |
Separate ossl's existing AES-NI GCM implementation into a common
ossl_aes_gcm.c and add conditionals to switch between OpenSSL's AES-NI
and POWER8 GCM routines depending on the architecture. Since the
existing AVX-512 implementation is less agnostic, move it into a
separate ossl_aes_gcm_avx512.c.
Reviewed by: markj
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D44274
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#15869 ee7c36264 Add description of default sorting behavior to zfs_list.8
#17375 ced72fdd6 tunables: remove legacy FreeBSD aliases
#17600 1da2c30be Update pam_zfs_key.c default path for FreeBSD
#17632 b6bd3228b Synchronize the update of feature refcount
#17645 59f8f5dfe zfs_vnops_os.c: Add support for the _PC_CLONE_BLKSIZE name
#17665 0d54ae288 zdb: Fix format strings on 32-bit systems
#17673 976f76534 Update compatibility.d files
#17699 e3c3e86c0 Fix wrong dedup_table_size for legacy dedup
#17704 e29bfa5bd Fix warnings about sha2_is_supported on FreeBSD/i386
#17706 a2424312c Fix the build on 32-bit FreeBSD with GCC
Obtained from: OpenZFS
OpenZFS commit: 7939bad5e79225288a2580e8ea217f5c6f616db2
|
|
|
|
|
| |
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1822
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The interrupt handler releases the device lock in hdaa_stream_intr to
avoid a lock order reversal. This allows child devices to be detached
and destroyed and then the interrupt handler panics.
Let hdac_detach take down the interrupt handler before detaching child
devices and order hdac_driver so hdac_detach is called first.
Remove duplicate hdac_if.h from the module Makefile.
PR: 286385
Reviewed by: christos
Differential Revision: https://reviews.freebsd.org/D50393
|
|
|
|
|
|
|
| |
This reverts commit 65059dd2b6f94e570acc645be82b8ea056316459.
lindebugfs does he vast majority of its pseudofs initialization nearly
everywhere but pseudofs, so let's defer this to post-brsnching.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, pseudofs all get fully constructed when the module is loaded
and vfs registered, but this is pretty unnecessary. Just loading the
fs doesn't mean that it will be used so we're adding overhead and
risk[0] by fully initializing these at the start, along with committing
resources that may not be used.
Deferring pfs_init() allows us to reduce the risk of simply loading the
module causing problems that are harder to avoid, and existing pseudo
filesystems don't really care: configuration that is context-sensitive
is generally deferred to access-time with PFS_PROCDEP.
To preserve symmetry, we'll also teardown our pseudofs on last unmount,
which leaves us with a vfs_uninit() implementation that simply destroys
our lock and prints a message.
[0] Example of such being recent bugs in linsysfs, which caused a panic
as soon as the module was loaded because we're eager to set it up.
Reviewed by: des (previous version), kib
Differential Revision: https://reviews.freebsd.org/D52156
|
|
|
|
|
|
|
| |
Sponsored by: Juniper Networks, Inc.
MFC after: 1 week
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D52192
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intel 6300ESB watchdog is a special ICH-based watchdog device with a
different interface.
QEMU implements this watchdog for x86 systems.
This change enables watchdog mode (rather than free-running mode) and
introduces 1 sysctl:
- hw.i6300esbwd.0.locked: locks the watchdog register after the event is
triggered, preventing it from being disabled until a hard reset.
This feature has been tested on a Vultr AMD guest machine and local qemu
machine.
PR: 259673
Approved by: markj (mentor), lwhsu (mentor)
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52049
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenZFS 2.4.0 rc1
Notable upstream pull request merges:
#17643 94413bc75 zdb: Filter log spacemaps by vdev
#17655 28ff57505 FreeBSD: satisfy VFS requirements for readdir()
#17658 -multiple dnode: fix how we track and check dirtyness
As OpenZFS 2.4 got branched, this is the last merge to main
until stable/15 is branched. stable/15 will receive updates
from the vendor/openzfs/zfs-2.4-release branch.
Obtained from: OpenZFS
OpenZFS commit: 00dfa094ac35e240bed33f8bcfea68d805eab6ae
OpenZFS tag: zfs-2.4.0-rc1
|
|
|
|
|
|
|
|
|
| |
Multiple Makefile miss opt_*.h and *_if.h header file. We fix it by
running make in sys/modules to build all modules.
Approved by: lwhsu (mentor), markj (mentor)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52062
|
|
|
|
|
|
|
|
| |
Always define the LINUXKPI_VERSION for LinuxKPI based wireless
drivers. This ensures that LinuxKPI can move indepdent of drivers.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
|
|
|
|
|
| |
Add aesni-gcm-avx2-vaes.S to libicp, libicp_rescue and module build
This was somehow not catched by my make universe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17058 -multiple Port AVX2 implementation of aes-gcm from BoringSSL
#17602 077269bfe Fix Assert in dbuf_undirty, which triggers during
usage zap shrink
#17613 d15143207 ZIL: Make allocations more flexible
#17618 5061f959d Retire zfs_autoimport_disable kmod option
#17166 d3c1d27af zdb: better handling for corrupt block pointers
#17616 1ccae433e Allow vmem_alloc backed multilists
#17619 e0e60d319 Better pack struct zio_prop
#17620 152e34822 Silence zstd large allocation warning
#17622 -multiple ZIL: restore some things lost in "ZIL-crash" review
#17625 -multiple zvol: cleanup & fixup zvol destruction sequence and
locking
#17631 885d929cf Fix missed assertion update in physical rewrite patch
#17642 a9410ccbd Make zpool_find_config() report errors
#17647 30a915efe zfs-send.8: mention combination of -c/-e flags and
zstd_compress feature
#17649 2c877e845 FreeBSD: Set st_rdev to NODEV, not 0, when not a device
(already backported)
Obtained from: OpenZFS
OpenZFS commit: a9410ccbd9f0375a7eeb6bc35eb55efe9c21493e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is part 1 of the support for the new Intel Ethernet E610 family of devices.
Introduce new PCI device IDs:
• 57AE: Intel(R) E610 (Backplane)
• 57AF: Intel(R) E610 (SFP)
• 57B0: Intel(R) E610 (10 GbE)
• 57B1: Intel(R) E610 (2.5 GbE)
• 57B2: Intel(R) E610 (SGMII)
Key updates for E610 family:
• Firmware manages Link and PHY
• Implement new CSR-based Admin Command Interface (ACI) for SW-FW interaction
• Tested exclusively for x64 operating systems on E610-XT2/XT4 (10G) and E610-IT4 (2.5G)
• Enable link speeds above 1G: 2.5G, 5G and 10G
• NVM Recovery Mode and Rollback support
Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com
Co-developed-by: Krzysztof Galazka krzysztof.galazka@intel.com
Approved by: kbowling (mentor), erj (mentor)
Tested by: gowtham.kumar.ks_intel.com
Sponsored by: Intel Corporation
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D50067
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While FIDO/U2F keys were already supported by the generic uhid(4) and
hidraw(4) drivers, this driver adds some additional features an does
steps to tighten the security of FIDO/U2F access.
- It automatically loads through devd.
- Automatically enables HQ_NO_READAHEAD for FIDO/U2F devices.
- Implements only miminum set of features.
- Do not requires external devfs configuration to set character device
permissions.
- Names character device as u2f/# to make possible capsicum or any
other pledge()-style sandboxing.
PR: 265528
Differential Revision: https://reviews.freebsd.org/D51612
|
|
|
|
| |
Fixes: 4757b351ea9d ("openssl: Import version 3.5.1")
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17398 -multiple ZIL: "crash" the ZIL if the pool suspends during fallback
#17585 0c376d0f5 Document the new '-a' zpool option
#17590 03592417c SIMD: Don't require definition of `HAVE_XSAVE`
#17591 -multiple Prefer VERIFY0 over comparision with 0 or NULL
#17596 -multiple zvol: misc cleanups
#17605 2fd145b57 zvol: cleanup error handling and passthrough
Obtained from: OpenZFS
OpenZFS commit: 1d0b94c4e73d83299528c44fb4fa3b29eb6009a3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#16853 894edd084 Add TXG timestamp database
#17004 -multiple Implement dynamic gang header sizes
#17405 dea0fc969 ZVOL: Return early, if volmode is ZFS_VOLMODE_NONE
on FreeBSD side
#17455 cf146460c Default to zfs_bclone_wait_dirty=1
#17481 523d9d600 Validate mountpoint on path-based unmount using statx
#17482 92da9e0e9 ZVOL: Implement zvol_alloc() function on FreeBSD side
#17489 dee62e074 spa: ZIO_TASKQ_ISSUE: Use symbolic priority
#17496 bf846dcb7 Release topology restrictions on special/dedup
#17497 4e92aee23 Relax special_small_blocks restrictions
#17503 ea38787f2 Revert "Fix incorrect expected error in ztest"
#17505 be1e991a1 Allow and prefer special vdevs as ZIL
#17506 ee0cb4cb8 ztest: Fix false positive of ENOSPC handling
#17507 92d3b4ee2 zio: rename `io_reexecute` as `io_post`;
use it for the direct IO checksum error flag
#17508 6af8db61b metaslab: don't pass whole zio to throttle reserve APIs
#17518 4c2a7f85d FreeBSD: Add support for _PC_HAS_HIDDENSYSTEM
#17521 d7ab07dfb ZIL: Force writing of open LWB on suspend
#17524 b6e8db509 zpool/zfs: Add '-a|--all' option to scrub, trim,
initialize
#17531 c1e51c55f Correct weight recalculation of space-based metaslabs
#17533 d323fbf49 FreeBSD: zfs_putpages: don't undirty pages until
after write completes
#17536 b21e04e8d Fix zdb pool/ with -k
#17537 -multiple Userspace tunables
#17540 2957eabbe Add support for FreeBSD's Solaris style extended
attribute interface
#17547 4bd7a2eaa zdb: fix checksum calculation for decompressed blocks
#17551 -multiple cleanup: remove var init/update
#17561 0f8a1105e Skip dbuf_evict_one() from dbuf_evict_notify()
for reclaim thread
#17563 10a78e264 Faster checksum benchmark on system boot
#17564 00ce064d8 spa: update blkptr diagram to include vdev padding
on encrypted blocks
#17565 -multiple Physical rewrite
#17566 fc885f308 Don't use wrong weight when passivating group
#17572 f70c85086 BRT: Fix ZAP entry endianness
#17575 0b6fd024a ZVOL: Unify zvol minors operations and improve error
handling
#17581 cb5e7e097 range_tree: Provide more debug details upon unexpected
add/remove
#17587 -multiple Fix two issues with dynamic gang headers
Obtained from: OpenZFS
OpenZFS commit: 8302b6e32bb153a6f402b106484d5736f082abcc
|
|
|
|
|
| |
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D48534
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Start work on a driver for the AMD SMU (system management unit), which
will eventually be used for getting S0ix statistics (e.g. how long the
CPU has spent in the deepest - S0i3 - sleep state during the last
sleep) as well as letting PMFW (power management firmware, running on
the SMU) know when we intend to enter and exit sleep. It is what's
responsible for actually turning off the VDD line to the CPU.
With this commit, amdsmu is just able to get the SMU's firmware version
on AMD Rembrandt, Phoenix, and Strix Point CPUs.
This is the equivalent to amd-pmc on Linux.
Reviewed by: cem, kib, mckusick
Approved by: kib, mckusick
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D48683
|
|
|
|
|
|
|
|
|
|
|
| |
The EFI_PROPERTIES_TABLE has been deprecated in the UEFI specification.
It is now replaced by the EFI_MEMORY_ATTRIBUTES_TABLE, which provides
a new header and data format for describing memory region attributes.
Reviewed by: imp
Approved by: markj (mentor)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D49998
|
|
|
|
|
|
|
|
|
| |
Enable basic SR-IOV support for E800 adapters.
Authored-by: Eric Joyner <erj@FreeBSD.org>
Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1573
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
opt_inet.h is missing from 5684c8783b64, thus actually `#ifdef INET`
does not work.
PR: 287445
See also: https://redmine.pfsense.org/issues/16248
Reviewed by: kbowling
Tested by: leper <leper4@protonmail.com>
Fixes: 5684c8783b64 qlnxe: Add missing #ifdef INET to fix amd64 LINT-NOINET/NOIP builds
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D51295
|
|
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D46397
Reviewed by: kib, markj, br
|
|
|
|
|
|
|
| |
Unused code since we retired the sequencer.
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50609
|
|
|
|
|
|
|
|
|
|
| |
The in-kernel MIDI sequencer is not used anymore, since this is done by
userland applications nowadays. It also contains bugs, and we are not
exactly sure how it works, or if it worked properly in the first place.
Sponsored by: The FreeBSD Foundation
Reviewed by: vishwin, markj
Differential Revision: https://reviews.freebsd.org/D50605
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that LinuxKPI supports the lower case Linux ACPI spellings under
LINUXKPI_WANT_LINUX_ACPI we only need to provide the debug macro to
allow us to compile in ACPI support.
This ties into regulatory and will be used, e.g., for 11ax, 11be,
and Per Platform Antenna Gain (PPAG) settings.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
|
|
|
|
|
|
|
|
|
| |
Now that LinuxKPI supports the lower case Linux ACPI spellings under
LINUXKPI_WANT_LINUX_ACPI remove the #ifdef around the code and compile in
ACPI support.
Sponsored by: The FreeBSD Foundation
MFC after; 3 days
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The HWT framework provides infrastructure for hardware-assisted tracing. It
collects detailed information about software execution and records it as
"events" in highly compressed format into DRAM. The events cover information
about control flow changes of a program, whether branches taken or not,
exceptions taken, timing information, cycles elapsed and more. This allows
to reconstruct entire program flow of a given application.
This comes with separate machine-dependent tracing backends for trace
collection, trace decoder libraries and an instrumentation tool.
Reviewed by: kib (sys/kern bits)
Sponsored by: UKRI
Differential Revision: https://reviews.freebsd.org/D40466
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17463 48ce292ea Clarify and restrict dmu_tx_assign() errors
#17484 d461a67d0 Ensure that gang_copies is always at least as large
as copies
#17486 0a2163d19 FreeBSD: Ensure that z_pflags is initialized for
new znodes
#17488 ea076d692 vdev_raidz_asize_to_psize: return psize, not asize
#17490 69ee01aa4 Fix bug caused by rounding in vdev_raidz_asize_to_psize
Obtained from: OpenZFS
OpenZFS commit: 69ee01aa4b106dd57016b0d756201ecf7c211d46
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17385 e1677d9ee ZVOL: Make zvol_prefetch_bytes module parameter platform-independent
#17386 e0edfcbd4 ZVOL: Make zvol_volmode module parameter platform-independent
#17391 108562344 Improve allocation fallback handling
#17409 68817d28c Include class name into struct metaslab_class
#17413 af7d60959 zpl: handle suspend from two remaining calls to `txg_wait_synced()`
#17415 b7f919d22 Relax zfs_vnops_read_chunk_size limitations
#17423 5e5253be8 FreeBSD: Wire projects support
#17426 -multiple Channel programs: add zfs.sync.clone()
#17431 e0ef4d276 Improve block cloning transactions accounting
#17432 46b82de61 scrub: generate scrub_finish event
#17435 bcd043023 Allow zero compression if dedup is enabled
#17438 ba227e2cc Make TX abort after assign safer
#17441 4ae931aa9 Polish db_rwlock scope
#17434 66ec7fb26 Reduce zfs_dmu_offset_next_sync penalty
#17445 238eab7dc FreeBSD: zfs_putpages: don't undirty pages until after write completes
#17458 bd27b7540 ZIL: Relax parallel write ZIOs processing
#17469 717213d43 Fix other nonrot bugs
Obtained from: OpenZFS
OpenZFS commit: 8170eb6ebcf2e7b1c735da80c331d7a57f1de987
|
|
|
|
|
|
|
|
|
| |
This file is already included in cam.ko which nvme.ko depends on
unconditionally.
Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D50705
|
|
|
|
|
|
| |
Add UFS Host Controller Itnerface driver to the build.
Sponsored by: Netflix
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a storage driver that supports the Universal Flash
Storage Host Controller Interface (UFSHCI) on FreeBSD.
Universal Flash Storage (UFS) is a flash-based mobile storage device
that replaces eMMC, aiming for high performance with low power. The UFS
Host Controller Interface (UFSHCI) is the host side controller and
connects UFS device to a system bus, such as PCIe.
The code targets the latest standards:
- UFS 4.1: https://www.jedec.org/standards-documents/docs/jesd220g
- UFSHCI 4.1: https://www.jedec.org/standards-documents/docs/jesd223f
The ufshci(4) driver implements controller/device initialization,
interrupt, single-doorbell(SDB) queue based IO requests. Support for
multi-queue (MCQ) IO requests is planned for a later commit.
Implemented features:
- PCIe bus support
- legacy(INTx) Interrupt Handling
- UIC command support
- UTP Transfer Request (UTR) support
- UTP Task Management Request (UTMR) support
- single doorbell queue (SDB) with multiple queue depth
- SCSI command set support
- sysctl
Work in progress:
- multi-Circular Queue (per-CPU IO queues)
- MSI-X interrupt Support
- write booster
- write Protect
- Host Performance Booster (HPB)
- interrupt aggregation
- ARM based system bus support
- ufs-utils port
Tests were performed on QEMU and an Intel-based laptop.
Since QEMU has an emulated UFS device, I tested on QEMU.
How to test on QEMU:
1. Run QEMU
$ qemu-system-x86_64 ... -device ufs -drive file=blk1g.bin,format=raw,if=none,id=luimg -device ufs-lu,drive=luimg,lun=0
2. Loading/unloading the ufshci module on QEMU
$ kldload /usr/obj/usr/src/amd64.amd64/sys/modules/ufshci/ufshci.ko
$ kldunload ufshci
Testing on real hardware:
- Samsung Galaxy Book S (Intel Lakefield) with UFS 3.0
- Lenovo duet 3 11ian8 (Intel N100) with UFS 2.1
Sponsored by: Samsung Electronics
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D50370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moved handling of debugfs entries to a separate file.
In addition, it will allow to consolidate the addition of
debugfs entries to a single location in the code.
This implementation adds infrastructure to create (and remove)
debugfs entries at two different stages.
- Done when a device is probed, allows to keep debugfs entries
persistent between a transition in device state (up to down or
vice versa).
- Done after the initialization phase, allows to have debugfs
entries that are accessible only when the device is up.
In addition, moved the creation of debugfs entries for configuration
of the newly created function adf_dbgfs_init() and replace symbolic
permissions with octal permissions when creating the debugfs files.
Added sysctl oids storage for proper cleanup on device down.
Reviewed by: markj, ziaee
MFC after: 2 weeks
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D50379
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Build and sysctl configuration modes are introduced for QAT SPR
devices to disable safe dc mode. A new QAT driver build option
‘QAT_DISABLE_SAFE_DC_MODE’ is required to build the QAT driver
with code that allows a request to be sent to FW to override the
‘History Buffer’ mitigation. Default QAT driver builds do not
include this ‘QAT_DISABLE_SAFE_DC_MODE’ build option. Even if the
QAT driver was built with code that allows a request to be sent to
FW to override the ‘History Buffer’ mitigation, the QAT driver must
still be configured using sysctl to request an override of the
‘History Buffer’ mitigation if desired. The default QAT driver
configuration option sysctl dev.qat.X.disable_safe_dc_mode does not
allow override of the mitigation. The new sysctl attribute
disable_safe_dc_mode is to be set to 1 for overriding the history
buffer mitigation. Firmware for qat_4xxx is updated for this change.
If this mode is enabled, decompression throughput increases but may
result in a data leak if num_user_processes is more than 1.
This option is to be enabled only if your system is not prone to
user data leaks.
Reviewed by: markj, ziaee
MFC after: 2 weeks
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D50379
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#14876 b048bfa9c Allow opt-in of zvol blocks in special class
#16486 b6916f995 ARC: parallel eviction
#17169 1a8f5ad3b zvol: Enable zvol threading functionality on FreeBSD
#17209 c17bdc491 More aggressively assert that db_mtx protects db.db_data
#17218 734eba251 Wire O_DIRECT also to Uncached I/O
#17246 49fbdd453 Introduce zfs rewrite subcommand
#17255 b1ccab172 ARC: Avoid overflows in arc_evict_adj()
#17280 848794503 zcp: get_prop: fix encryptionroot and encryption
#17301 086105f4c Cause zpool scan resume commands to get logged in history
#17306 246e5883b zfs_valstr: update zio_flag strings for
ZIO_FLAG_PREALLOCATED
#17309 78628a5c1 FreeBSD: Use new SYSCTL_SIZEOF()
#17314 89a8a9158 ARC: Notify dbuf cache about target size reduction
#17319 8b9c4e643 spa: clear checkpoint information during retry
#17339 d5616ad34 Increase meta-dnode redundancy in "some" mode
#17340 ea74cdedd Fix 2 bugs in non-raw send with encryption
#17342 e55225be3 Add explicit DMU_DIRECTIO checks
#17343 d8a33bc0a icp: Use explicit_memset() exclusively in gcm_clear_ctx()
#17344 -multiple libzfs_core: add ZFS_IOC_TRACE envvar to enable ioctl
tracing
#17348 f0baaa329 arcstat: prevent ZeroDivisionError when L2ARC becomes
empty
#17353 83fa80a55 dmu_objset_hold_flags() should call
dsl_dataset_rele_flags() on error
#17355 -multiple Allow txg_wait_synced_flags() and dmu_tx_assign()
to return when the pool suspends
#17361 5c30b2438 Fix null dereference in spa_vdev_remove_cancel_sync()
#17363 ddf28f27c Fix off-by-one bug in range tree code
#17367 06fa8f3f6 zfs_cmd: reorganise zfs_cmd_t to match original size
#17368 2a91d577b Expose dataset encryption status via fast stat path
#17372 c464f1d01 Only interrupt active disk I/Os in failmode=continue
#17373 9d76950d6 ZIL: Improve write log size accounting
#17377 -multiple tunables: general code cleanup
#17379 fa697b94e FreeBSD: Add posix_fadvise(POSIX_FADV_WILLNEED) support
#17384 3dfa98d01 ZVOL: Make zvol_inhibit_dev module parameter
platform-independent
Obtained from: OpenZFS
OpenZFS commit: 3084336ae4a4e114e41be3177a3f5c779d66e93c
|
|
|
|
| |
Fixes: 9b5ddb2accfc80f70a0da52444008ebabef2a9ee
|
|
|
|
| |
Sponsored by: The FreeBSD Foundation
|