| #
b1d324d9
|
| 25-Sep-2024 |
John Baldwin <jhb@FreeBSD.org> |
ctl: Move extern for control_softc into <cam/ctl/ctl_private.h>
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D46778
|
| #
d5c21c68
|
| 02-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
ctl_backend_ramdisk: Add support for NVMe
One known caveat is that the support for WRITE_UNCORRECTABLE is not quite correct as reads from LBAs after a WRITE_UNCORRECTABLE will return zeroes rather t
ctl_backend_ramdisk: Add support for NVMe
One known caveat is that the support for WRITE_UNCORRECTABLE is not quite correct as reads from LBAs after a WRITE_UNCORRECTABLE will return zeroes rather than an error. Fixing this would likely require special handling for PG_ANCHOR for NVMe requests (or adding a new PG_UNCORRECTABLE).
Reviewed by: ken, imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44722
show more ...
|
| #
ccaaee46
|
| 02-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
ctl_backend_ramdisk: Prepare for NVMe support
- Use wrapper routines for access to shared fields between SCSI and NVMe I/O requests.
- Use protocol-agnostic wrapper routines for I/O completion st
ctl_backend_ramdisk: Prepare for NVMe support
- Use wrapper routines for access to shared fields between SCSI and NVMe I/O requests.
- Use protocol-agnostic wrapper routines for I/O completion status.
Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44849
show more ...
|
| #
2ffd30f7
|
| 06-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
cam: Remove left-over sys/cdefs.h in sys/cam
These weren't removed when $FreeBSD$ was removed. They aren't needed and now are a style(9) nonconformity.
Sponsored by: Netflix
|
| #
685dc743
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
| #
4d846d26
|
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
| #
bd6e8729
|
| 18-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
ctl ramdisk: Free compare buffer after a compare I/O request.
For a compare request, the ramdisk backend allocates a temporary buffer to hold the I/O data and then compares it against the LUN's page
ctl ramdisk: Free compare buffer after a compare I/O request.
For a compare request, the ramdisk backend allocates a temporary buffer to hold the I/O data and then compares it against the LUN's pages in ctl_backend_ramdisk_cmp after the data has been filled. However, the tempory buffer was leaked when after the comparison was complete. Fix this by freeing the buffer after the comparison.
Reviewed by: mav Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D34316
show more ...
|
| #
ac503c19
|
| 06-Apr-2021 |
Alexander Motin <mav@FreeBSD.org> |
Introduce "soft" serseq variant.
With new ZFS prefetcher improvements it is no longer needed to fully serialize reads to reach decent prediction hit rate. Softer variant only creates small time win
Introduce "soft" serseq variant.
With new ZFS prefetcher improvements it is no longer needed to fully serialize reads to reach decent prediction hit rate. Softer variant only creates small time window to reduce races instead of completely blocking following reads while previous is running. It much less hurts the performance in case of prediction miss.
MFC after: 1 month
show more ...
|
| #
2c7dc6ba
|
| 21-Feb-2021 |
Alexander Motin <mav@FreeBSD.org> |
Refactor CTL datamove KPI.
- Make frontends call unified CTL core method ctl_datamove_done() to report move completion. It allows to reduce code duplication in differerent backends by accounting D
Refactor CTL datamove KPI.
- Make frontends call unified CTL core method ctl_datamove_done() to report move completion. It allows to reduce code duplication in differerent backends by accounting DMA time in common code. - Add to ctl_datamove_done() and be_move_done() callback samethr argument, reporting whether the callback is called in the same context as ctl_datamove(). It allows for some cases like iSCSI write with immediate data or camsim frontend write save one context switch, since we know that the context is sleepable. - Remove data_move_done() methods from struct ctl_backend_driver, unused since forever.
MFC after: 1 month
show more ...
|
| #
05d882b7
|
| 19-Feb-2021 |
Alexander Motin <mav@FreeBSD.org> |
Microoptimize CTL I/O queues.
Switch OOA queue from TAILQ to LIST and change its direction, so that we traverse it forward, not backward. There is only one place where we really need other directio
Microoptimize CTL I/O queues.
Switch OOA queue from TAILQ to LIST and change its direction, so that we traverse it forward, not backward. There is only one place where we really need other direction, and it is not critical.
Use STAILQ_REMOVE_HEAD() instead of STAILQ_REMOVE() in backends.
Replace few impossible conditions with assertions.
MFC after: 1 month
show more ...
|
| #
767300e8
|
| 28-May-2020 |
Alexander Motin <mav@FreeBSD.org> |
Make struct ctl_be_lun first element of struct ctl_be_*_lun.
It allows to remove some extra pointer dereferences and slightly tightens up the code by unification.
MFC after: 2 weeks Sponsored by: i
Make struct ctl_be_lun first element of struct ctl_be_*_lun.
It allows to remove some extra pointer dereferences and slightly tightens up the code by unification.
MFC after: 2 weeks Sponsored by: iXsystems, Inc.
show more ...
|
| #
34144c2c
|
| 02-May-2020 |
Alexander Motin <mav@FreeBSD.org> |
Cleanup LUN addition/removal.
- Make ctl_add_lun() synchronous. Asynchronous addition was used by Copan's proprietary code long ago and never for upstream FreeBSD. - Move LUN enable/disable calls
Cleanup LUN addition/removal.
- Make ctl_add_lun() synchronous. Asynchronous addition was used by Copan's proprietary code long ago and never for upstream FreeBSD. - Move LUN enable/disable calls from backends to CTL core. - Serialize LUN modification and partially removal to avoid double frees. - Slightly unify backends code.
MFC after: 2 weeks Sponsored by: iXsystems, Inc.
show more ...
|
| #
efeedddc
|
| 07-Apr-2020 |
Alexander Motin <mav@FreeBSD.org> |
Fix panic on kern.cam.ctl.ha_role change after r333446.
MFC after: 1 week Sponsored by: iXsystems, Inc.
|
| #
44e86fbd
|
| 13-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357662 through r357854.
|
| #
12373e95
|
| 08-Feb-2020 |
Alexander Motin <mav@FreeBSD.org> |
Bind CTL backends taskqueues to the CTL process.
MFC after: 2 weeks
|
| #
a63915c2
|
| 28-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @r350386
Sponsored by: The FreeBSD Foundation
|
| #
1173e5a7
|
| 27-Jul-2019 |
Alexander Motin <mav@FreeBSD.org> |
Reenable UNMAP support on ramdisks by default.
For some reason, I guess just mechanical editing, it was disable in r333446.
MFC after: 2 weeks
|
| #
2aaf9152
|
| 18-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead@r345275
|
| #
b18a4cca
|
| 05-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r344786
|
| #
844fc3e9
|
| 04-Mar-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r344549 through r344775.
|
| #
053db1fe
|
| 04-Mar-2019 |
Alexander Motin <mav@FreeBSD.org> |
Reduce CTL threads priority to about PUSER.
Since in most configurations CTL serves as network service, we found that this change improves local system interactivity under heavy load. Priority of ma
Reduce CTL threads priority to about PUSER.
Since in most configurations CTL serves as network service, we found that this change improves local system interactivity under heavy load. Priority of main threads is set slightly higher then worker taskqueues to make them quickly sort incoming requests not creating bottlenecks, while plenty of worker taskqueues should be less sensitive to latency.
MFC after: 1 week Sponsored by: iXsystems, Inc.
show more ...
|
| #
b1d324d9
|
| 25-Sep-2024 |
John Baldwin <jhb@FreeBSD.org> |
ctl: Move extern for control_softc into <cam/ctl/ctl_private.h>
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D46778
|
| #
d5c21c68
|
| 02-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
ctl_backend_ramdisk: Add support for NVMe
One known caveat is that the support for WRITE_UNCORRECTABLE is not quite correct as reads from LBAs after a WRITE_UNCORRECTABLE will return zeroes rather t
ctl_backend_ramdisk: Add support for NVMe
One known caveat is that the support for WRITE_UNCORRECTABLE is not quite correct as reads from LBAs after a WRITE_UNCORRECTABLE will return zeroes rather than an error. Fixing this would likely require special handling for PG_ANCHOR for NVMe requests (or adding a new PG_UNCORRECTABLE).
Reviewed by: ken, imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44722
show more ...
|
| #
ccaaee46
|
| 02-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
ctl_backend_ramdisk: Prepare for NVMe support
- Use wrapper routines for access to shared fields between SCSI and NVMe I/O requests.
- Use protocol-agnostic wrapper routines for I/O completion st
ctl_backend_ramdisk: Prepare for NVMe support
- Use wrapper routines for access to shared fields between SCSI and NVMe I/O requests.
- Use protocol-agnostic wrapper routines for I/O completion status.
Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44849
show more ...
|
| #
2ffd30f7
|
| 06-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
cam: Remove left-over sys/cdefs.h in sys/cam
These weren't removed when $FreeBSD$ was removed. They aren't needed and now are a style(9) nonconformity.
Sponsored by: Netflix
|