{"push_id":930406714,"size":10,"distinct_size":10,"ref":"refs/heads/stable/10","head":"cf634dbebaf0cbb38776bdae87fd9c69fc18f9b7","before":"5c319e733f7057fd05e08d489e23bf22f95fc1e1","commits":[{"sha":"2680e52f64cfc376f6a61e121e31859fe0d2014f","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293321:\n\n  nvd: skip BIO_ORDERED logic when bio fails submission\n\n  This ensures the bio flags are not read after biodone().\n  The ordering will still be enforced, after the bio is\n  submitted successfully.","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/2680e52f64cfc376f6a61e121e31859fe0d2014f"},{"sha":"f1a487f0bc03c7d2ccc102d01200b6362ee89d51","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293322:\n\n  nvd: break out submission logic into separate function\n\n  This enables a future patch using this same logic to submit\n  I/O directly bypassing the taskqueue.","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/f1a487f0bc03c7d2ccc102d01200b6362ee89d51"},{"sha":"cc3b9500d50ad297e7eebba746b920dde77a7089","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293323:\n\n  nvd: submit bios directly when BIO_ORDERED not set or in flight\n\n  This significantly improves parallelism in the most common case.\n  The taskqueue is still used whenever BIO_ORDERED bios are in flight.\n\n  This patch is based heavily on a patch from gallatin@.","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/cc3b9500d50ad297e7eebba746b920dde77a7089"},{"sha":"87e2ccc8c21718f5c1a3a5c6104e50aca887dc41","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293324:\n\n  nvme: simplify some of the nested ifs in interrupt setup code\n\n  This prepares for some follow-up commits which do more work in\n  this area.","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/87e2ccc8c21718f5c1a3a5c6104e50aca887dc41"},{"sha":"19ecb17f9b5c28ac941f3c53b3cbaf0a87ff3161","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293325:\n\n  nvme: remove per_cpu_io_queues from struct nvme_controller\n\n  Instead just use num_io_queues to make this determination.\n\n  This prepares for some future changes enabling use of multiple\n  queues when we do not have enough queues or MSI-X vectors\n  for one queue per CPU.","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/19ecb17f9b5c28ac941f3c53b3cbaf0a87ff3161"},{"sha":"0cfdfff8b8a389b0bdeacacb22a371eeb9627d00","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293326:\n\n  nvme: do not pre-allocate MSI-X IRQ resources\n\n  The issue referenced here was resolved by other changes\n  in recent commits, so this code is no longer needed.","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/0cfdfff8b8a389b0bdeacacb22a371eeb9627d00"},{"sha":"37703e3991958133eec6c9c0d632d2fe1a4d0bc9","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293327:\n\n  nvme: break out interrupt setup code into a separate function","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/37703e3991958133eec6c9c0d632d2fe1a4d0bc9"},{"sha":"613dac6224f7c02dd5cd7f54c047c7ff4ab3c822","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293328:\n\n  nvme: do not revert to single I/O queue when per-CPU queues not available\n\n  Previously nvme(4) would revert to a single I/O queue if it could not\n  allocate enought interrupt vectors or NVMe submission/completion queues\n  to have one I/O queue per core.  This patch determines how to utilize a\n  smaller number of available interrupt vectors, and assigns (as closely\n  as possible) an equal number of cores to each associated I/O queue.","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/613dac6224f7c02dd5cd7f54c047c7ff4ab3c822"},{"sha":"132d9697c09a16aa335d7f87b4cf5c2118dc909a","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293352:\n\n  nvme: add hw.nvme.min_cpus_per_ioq tunable\n\n  Due to FreeBSD system-wide limits on number of MSI-X vectors\n  (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199321),\n  it may be desirable to allocate fewer than the maximum number\n  of vectors for an NVMe device, in order to save vectors for\n  other devices (usually Ethernet) that can take better\n  advantage of them and may be probed after NVMe.\n\n  This tunable is expressed in terms of minimum number of CPUs\n  per I/O queue instead of max number of queues per controller,\n  to allow for a more even distribution of CPUs per queue.  This\n  avoids cases where some number of CPUs have a dedicated queue,\n  but other CPUs need to share queues.  Ideally the PR referenced\n  above will eventually be fixed and the mechanism implemented\n  here becomes obsolete anyways.\n\n  While here, fix a bug in the CPUs per I/O queue calculation to\n  properly account for the admin queue's MSI-X vector.","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/132d9697c09a16aa335d7f87b4cf5c2118dc909a"},{"sha":"cf634dbebaf0cbb38776bdae87fd9c69fc18f9b7","author":{"email":"57f2f366a17f8a1249db024a20fb22adea30ca86@FreeBSD.org","name":"jimharris"},"message":"MFC r293354:\n\n  nvme: replace NVME_CEILING macro with howmany()","distinct":true,"url":"https://api.github.com/repos/freebsd/freebsd/commits/cf634dbebaf0cbb38776bdae87fd9c69fc18f9b7"}]}