Revision tags: release/14.0.0 |
|
#
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/
|
#
7af2f2c8 |
| 25-Jul-2023 |
Warner Losh <imp@FreeBSD.org> |
cam: Migrate to modern uintXX_t from u_intXX_t
As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t.
MFC After: 3 days Sponsored by: Netflix
|
#
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 ...
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0 |
|
#
c154feac |
| 25-Nov-2021 |
Scott Long <scottl@FreeBSD.org> |
Fix "set but not used" warnings in CAM.
|
#
b3b15d92 |
| 05-Oct-2021 |
Warner Losh <imp@FreeBSD.org> |
cam: Add doxygen for cam_sim_free
Sponsored by: Netflix Reviewed by: mav Differential Revision: https://reviews.freebsd.org/D32303
|
#
dcd5dea9 |
| 29-Jun-2021 |
Warner Losh <imp@FreeBSD.org> |
cam: delete cam_sim_alloc_dev
cam_sim_alloc_dev was only used internally by the MMC system. That has been convered to using xpt_path_device() and has stopped using this interface, so this can be ret
cam: delete cam_sim_alloc_dev
cam_sim_alloc_dev was only used internally by the MMC system. That has been convered to using xpt_path_device() and has stopped using this interface, so this can be retired.
Reviewed by: scottl@, mav@ Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D30858
show more ...
|
#
00e7a553 |
| 22-May-2021 |
Warner Losh <imp@FreeBSD.org> |
cam_sim: style: sort includes
Sort and remove sys/systm.h, it's not needed.
Sponsored by: Netflix
|
#
28027f28 |
| 25-May-2021 |
Warner Losh <imp@FreeBSD.org> |
cam: remove sim callout
Nothing is using the sim callout to unfreeze the queue. Remove it to simplify the SIM. This was introduced in the original CAM commit in 1998 but setting the CAM_SIM_REL_TIME
cam: remove sim callout
Nothing is using the sim callout to unfreeze the queue. Remove it to simplify the SIM. This was introduced in the original CAM commit in 1998 but setting the CAM_SIM_REL_TIMEOUT_PENDING flag was removed in 1999 in commit 87cfaf0e1fbd which reworked how bus reset worked. That work was merged just after 3.2R was released. Remove the unused residuals.
Sponsored by: Netflix Reviewed by: scottl@, mav@ Differential Revision: https://reviews.freebsd.org/D30383
show more ...
|
#
96480d9b |
| 16-May-2021 |
Warner Losh <imp@FreeBSD.org> |
cam_sim: add doxygen to cam_sim_alloc_dev
cam_sim_alloc_dev was overlooked when cam_sim_alloc was documented. Add doxygen docs for it, pointing at cam_sim_alloc.
Sponsored by: Netflix
|
#
cb588059 |
| 05-May-2021 |
Warner Losh <imp@FreeBSD.org> |
cam: Add doxygen docs to cam_sim_alloc
Add description for what each of the parameters are to the cam_sim_alloc call. Add some additional context for the mtx and queue parameters to explain what spe
cam: Add doxygen docs to cam_sim_alloc
Add description for what each of the parameters are to the cam_sim_alloc call. Add some additional context for the mtx and queue parameters to explain what special values passed in mean.
MFC After: 3 days Reviewed by: mav@ Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D30115
show more ...
|
Revision tags: release/13.0.0 |
|
#
2ce5eef6 |
| 03-Jan-2021 |
Mark Johnston <markj@FreeBSD.org> |
cam: Remove Giant handling from cam_sim_alloc()
There are no non-MPSAFE SIM drivers left in the tree, verified with coccinelle.
Reviewed by: scottl, imp Differential Revision: https://reviews.freeb
cam: Remove Giant handling from cam_sim_alloc()
There are no non-MPSAFE SIM drivers left in the tree, verified with coccinelle.
Reviewed by: scottl, imp Differential Revision: https://reviews.freebsd.org/D27853
show more ...
|
Revision tags: release/12.2.0 |
|
#
a1975719 |
| 07-Oct-2020 |
Warner Losh <imp@FreeBSD.org> |
cam: Assert we have a reference when freeing sim
Before we decrement refcount to sleep on the sim, assert that the refcount >= 1. If it were 0 here, we'd never wake up.
|
#
7a7ca53f |
| 04-Sep-2020 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
cam_sim: harmonize code related to acquiring a mtx
cam_sim_free(), cam_sim_release(), and cam_sim_hold() all assign a mtx variable during declaration and then if NULL or the mtx is held may re-asign
cam_sim: harmonize code related to acquiring a mtx
cam_sim_free(), cam_sim_release(), and cam_sim_hold() all assign a mtx variable during declaration and then if NULL or the mtx is held may re-asign the variable and/or acquire/release a lock.
Harmonize the code, avoiding double assignments and make it look the same for all three function (with cam_sim_free() not needing an extra case).
No functional changes intended.
Reviewed by: imp; no-objections by: mav MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D26286
show more ...
|
Revision tags: release/11.4.0, release/12.1.0, release/11.3.0 |
|
#
e532a999 |
| 20-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @349234
Sponsored by: The FreeBSD Foundation
|
#
6e40542a |
| 08-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Introduce sim_dev and cam_sim_alloc_dev().
Add cam_sim_alloc_dev() as a wrapper to cam_sim_alloc() which takes a device_t instead of the unit_number (which we can derive from the dev again).
Add de
Introduce sim_dev and cam_sim_alloc_dev().
Add cam_sim_alloc_dev() as a wrapper to cam_sim_alloc() which takes a device_t instead of the unit_number (which we can derive from the dev again).
Add device_t sim_dev to struct cam_sim. It will be used to pass through the bus for cases when both sides of CAM speak newbus already and we want to link them (yet make the calls through CAM for now).
SDIO will be the first consumer of this. For that make use of cam_sim_alloc_dev() in sdhci under MMCCAM.
This will also allow people to start iterating more on the idea to newbus-ify CAM without changing 50+ device drivers from the start. Also to be clear there are callers to cam_sim_alloc() which do not have a device_t (e.g., XPT) or provide their own unit number so we cannot simply switch the KPI entirely.
Submitted by: kibab (original idea, see https://reviews.freebsd.org/D12467) Reviewed by: imp, chuck MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19746
show more ...
|
Revision tags: release/12.0.0, release/11.2.0 |
|
#
bec9534d |
| 27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/cam: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error
sys/cam: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
show more ...
|
Revision tags: release/10.4.0, release/11.1.0 |
|
#
401ed17a |
| 21-Mar-2017 |
Alexander Motin <mav@FreeBSD.org> |
Make CAM SIM lock optional.
For three years now CAM does not use SIM lock, but still enforces SIM to use it. Remove this requirement, allowing SIMs to have any locking they prefer, if they pass no
Make CAM SIM lock optional.
For three years now CAM does not use SIM lock, but still enforces SIM to use it. Remove this requirement, allowing SIMs to have any locking they prefer, if they pass no mutex to cam_sim_alloc().
MFC after: 2 weeks
show more ...
|
Revision tags: release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0 |
|
#
3b8f0845 |
| 28-Apr-2014 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge head
|
#
84e51a1b |
| 23-Apr-2014 |
Alan Somers <asomers@FreeBSD.org> |
IFC @264767
|
#
485ac45a |
| 04-Feb-2014 |
Peter Grehan <grehan@FreeBSD.org> |
MFC @ r259205 in preparation for some SVM updates. (for real this time)
|
Revision tags: release/10.0.0 |
|
#
f9b2a21c |
| 31-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge head r232040 through r257457. M usr.sbin/portsnap/portsnap/portsnap.8 M usr.sbin/portsnap/portsnap/portsnap.sh M usr.sbin/tcpdump/tcpdump/Makefile
|
#
227d67aa |
| 21-Oct-2013 |
Alexander Motin <mav@FreeBSD.org> |
Merge CAM locking changes from the projects/camlock branch to radically reduce lock congestion and improve SMP scalability of the SCSI/ATA stack, preparing the ground for the coming next GEOM direct
Merge CAM locking changes from the projects/camlock branch to radically reduce lock congestion and improve SMP scalability of the SCSI/ATA stack, preparing the ground for the coming next GEOM direct dispatch support.
Replace big per-SIM locks with bunch of smaller ones: - per-LUN locks to protect device and peripheral drivers state; - per-target locks to protect list of LUNs on target; - per-bus locks to protect reference counting; - per-send queue locks to protect queue of CCBs to be sent; - per-done queue locks to protect queue of completed CCBs; - remaining per-SIM locks now protect only HBA driver internals.
While holding LUN lock it is allowed (while not recommended for performance reasons) to take SIM lock. The opposite acquisition order is forbidden. All the other locks are leaf locks, that can be taken anywhere, but should not be cascaded. Many functions, such as: xpt_action(), xpt_done(), xpt_async(), xpt_create_path(), etc. are no longer require (but allow) SIM lock to be held.
To keep compatibility and solve cases where SIM lock can't be dropped, all xpt_async() calls in addition to xpt_done() calls are queued to completion threads for async processing in clean environment without SIM lock held.
Instead of single CAM SWI thread, used for commands completion processing before, use multiple (depending on number of CPUs) threads. Load balanced between them using "hash" of the device B:T:L address.
HBA drivers that can drop SIM lock during completion processing and have sufficient number of completion threads to efficiently scale to multiple CPUs can use new function xpt_done_direct() to avoid extra context switch. Make ahci(4) driver to use this mechanism depending on hardware setup.
Sponsored by: iXsystems, Inc. MFC after: 2 months
show more ...
|
Revision tags: release/9.2.0 |
|
#
40f65a4d |
| 07-Aug-2013 |
Peter Grehan <grehan@FreeBSD.org> |
IFC @ r254014
|
#
552311f4 |
| 17-Jul-2013 |
Xin LI <delphij@FreeBSD.org> |
IFC @253398
|