Changeset View
Changeset View
Standalone View
Standalone View
sys/cam/scsi/scsi_da.c
Show All 12 Lines | |||||
&da_default_timeout, 0, "Normal I/O timeout (in seconds)"); | &da_default_timeout, 0, "Normal I/O timeout (in seconds)"); | ||||
SYSCTL_INT(_kern_cam_da, OID_AUTO, send_ordered, CTLFLAG_RWTUN, | SYSCTL_INT(_kern_cam_da, OID_AUTO, send_ordered, CTLFLAG_RWTUN, | ||||
&da_send_ordered, 0, "Send Ordered Tags"); | &da_send_ordered, 0, "Send Ordered Tags"); | ||||
SYSCTL_INT(_kern_cam_da, OID_AUTO, disable_wp_detection, CTLFLAG_RWTUN, | SYSCTL_INT(_kern_cam_da, OID_AUTO, disable_wp_detection, CTLFLAG_RWTUN, | ||||
&da_disable_wp_detection, 0, | &da_disable_wp_detection, 0, | ||||
"Disable detection of write-protected disks"); | "Disable detection of write-protected disks"); | ||||
SYSCTL_PROC(_kern_cam_da, OID_AUTO, default_softtimeout, | SYSCTL_PROC(_kern_cam_da, OID_AUTO, default_softtimeout, | ||||
CTLTYPE_UINT | CTLFLAG_RW, NULL, 0, dasysctlsofttimeout, "I", | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, | ||||
NULL, 0, dasysctlsofttimeout, "I", | |||||
"Soft I/O timeout (ms)"); | "Soft I/O timeout (ms)"); | ||||
TUNABLE_INT64("kern.cam.da.default_softtimeout", &da_default_softtimeout); | TUNABLE_INT64("kern.cam.da.default_softtimeout", &da_default_softtimeout); | ||||
/* | /* | ||||
* DA_ORDEREDTAG_INTERVAL determines how often, relative | * DA_ORDEREDTAG_INTERVAL determines how often, relative | ||||
* to the default timeout, we check to see whether an ordered | * to the default timeout, we check to see whether an ordered | ||||
* tagged transaction is appropriate to prevent simple tag | * tagged transaction is appropriate to prevent simple tag | ||||
* starvation. Since we'd like to ensure that there is at least | * starvation. Since we'd like to ensure that there is at least | ||||
Show All 24 Lines | |||||
return; | return; | ||||
} | } | ||||
/* | /* | ||||
* Now register the sysctl handler, so the user can change the value on | * Now register the sysctl handler, so the user can change the value on | ||||
* the fly. | * the fly. | ||||
*/ | */ | ||||
SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | ||||
OID_AUTO, "delete_method", CTLTYPE_STRING | CTLFLAG_RWTUN, | OID_AUTO, "delete_method", | ||||
CTLTYPE_STRING | CTLFLAG_RWTUN | CTLFLAG_NEEDGIANT, | |||||
softc, 0, dadeletemethodsysctl, "A", | softc, 0, dadeletemethodsysctl, "A", | ||||
"BIO_DELETE execution method"); | "BIO_DELETE execution method"); | ||||
SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | ||||
OID_AUTO, "delete_max", CTLTYPE_U64 | CTLFLAG_RW, | OID_AUTO, "delete_max", | ||||
CTLTYPE_U64 | CTLFLAG_RW | CTLFLAG_NEEDGIANT, | |||||
softc, 0, dadeletemaxsysctl, "Q", | softc, 0, dadeletemaxsysctl, "Q", | ||||
"Maximum BIO_DELETE size"); | "Maximum BIO_DELETE size"); | ||||
SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | ||||
OID_AUTO, "minimum_cmd_size", CTLTYPE_INT | CTLFLAG_RW, | OID_AUTO, "minimum_cmd_size", | ||||
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, | |||||
&softc->minimum_cmd_size, 0, dacmdsizesysctl, "I", | &softc->minimum_cmd_size, 0, dacmdsizesysctl, "I", | ||||
"Minimum CDB size"); | "Minimum CDB size"); | ||||
SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | ||||
SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | ||||
"trim_count", CTLFLAG_RD, &softc->trim_count, | "trim_count", CTLFLAG_RD, &softc->trim_count, | ||||
"Total number of unmap/dsm commands sent"); | "Total number of unmap/dsm commands sent"); | ||||
SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | ||||
SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | ||||
"trim_ranges", CTLFLAG_RD, &softc->trim_ranges, | "trim_ranges", CTLFLAG_RD, &softc->trim_ranges, | ||||
"Total number of ranges in unmap/dsm commands"); | "Total number of ranges in unmap/dsm commands"); | ||||
SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | ||||
SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | ||||
"trim_lbas", CTLFLAG_RD, &softc->trim_lbas, | "trim_lbas", CTLFLAG_RD, &softc->trim_lbas, | ||||
"Total lbas in the unmap/dsm commands sent"); | "Total lbas in the unmap/dsm commands sent"); | ||||
SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | ||||
OID_AUTO, "zone_mode", CTLTYPE_STRING | CTLFLAG_RD, | OID_AUTO, "zone_mode", | ||||
CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, | |||||
softc, 0, dazonemodesysctl, "A", | softc, 0, dazonemodesysctl, "A", | ||||
"Zone Mode"); | "Zone Mode"); | ||||
SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | SYSCTL_ADD_PROC(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), | ||||
OID_AUTO, "zone_support", CTLTYPE_STRING | CTLFLAG_RD, | OID_AUTO, "zone_support", | ||||
CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, | |||||
softc, 0, dazonesupsysctl, "A", | softc, 0, dazonesupsysctl, "A", | ||||
"Zone Support"); | "Zone Support"); | ||||
SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | ||||
SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | ||||
"optimal_seq_zones", CTLFLAG_RD, &softc->optimal_seq_zones, | "optimal_seq_zones", CTLFLAG_RD, &softc->optimal_seq_zones, | ||||
"Optimal Number of Open Sequential Write Preferred Zones"); | "Optimal Number of Open Sequential Write Preferred Zones"); | ||||
SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | SYSCTL_ADD_UQUAD(&softc->sysctl_ctx, | ||||
SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | SYSCTL_CHILDREN(softc->sysctl_tree), OID_AUTO, | ||||
Show All 12 Lines |