diff options
author | Steven Hartland <smh@FreeBSD.org> | 2013-03-29 22:58:15 +0000 |
---|---|---|
committer | Steven Hartland <smh@FreeBSD.org> | 2013-03-29 22:58:15 +0000 |
commit | 5f83aee5e585e899ce347b0eff42e64628f81df7 (patch) | |
tree | bb7d2f8108f86f3417b00d4bf9c025cf6f66ae71 /sys/cam/cam.h | |
parent | ce7ad6640ca40126ffeba22f254f55afc50623e9 (diff) | |
download | src-5f83aee5e585e899ce347b0eff42e64628f81df7.tar.gz src-5f83aee5e585e899ce347b0eff42e64628f81df7.zip |
Adds the ability to enable / disable sorting of BIO requests queued within
CAM. This can significantly improve performance particularly for SSDs
which don't suffer from seek latencies.
The sysctl / tunable kern.cam.sort_io_queues provides the systems default
setting where:-
0 = queued BIOs are NOT sorted
1 = queued BIOs are sorted (default)
Each device gets its own sysctl kern.cam.<type>.<id>.sort_io_queue
Valid values are:-
-1 = use system default (default)
0 = queued BIOs are NOT sorted
1 = queued BIOs are sorted
Note: Additional patch will look to add automatic use of none sorted queues
for none rotating media e.g. SSD's
Reviewed by: scottl
Approved by: pjd (mentor)
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=248922
Diffstat (limited to 'sys/cam/cam.h')
-rw-r--r-- | sys/cam/cam.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/cam/cam.h b/sys/cam/cam.h index a3e191f0fce3..20fc7a37dea6 100644 --- a/sys/cam/cam.h +++ b/sys/cam/cam.h @@ -228,6 +228,9 @@ struct cam_status_entry extern const struct cam_status_entry cam_status_table[]; extern const int num_cam_status_entries; +#ifdef _KERNEL +extern int cam_sort_io_queues; +#endif union ccb; #ifdef SYSCTL_DECL /* from sysctl.h */ |