History log of /src/sys/cam/ctl/ctl_backend_ramdisk.c (Results 1 – 25 of 408)
Revision Date Author Comments
# 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


12345678910>>...17