Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F140394886
D6811.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
6 KB
Referenced Files
None
Subscribers
None
D6811.diff
View Options
Index: head/sys/cam/cam_iosched.c
===================================================================
--- head/sys/cam/cam_iosched.c
+++ head/sys/cam/cam_iosched.c
@@ -61,7 +61,7 @@
* for trims.
*/
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
static int do_netflix_iosched = 1;
TUNABLE_INT("kern.cam.do_netflix_iosched", &do_netflix_iosched);
@@ -250,7 +250,7 @@
/* scheduler flags < 16, user flags >= 16 */
uint32_t flags;
int sort_io_queue;
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
int read_bias; /* Read bias setting */
int current_read_bias; /* Current read bias state */
int total_ticks;
@@ -269,7 +269,7 @@
#endif
};
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
/*
* helper functions to call the limsw functions.
*/
@@ -624,7 +624,7 @@
/* Periph drivers set these flags to indicate work */
#define CAM_IOSCHED_FLAG_WORK_FLAGS ((0xffffu) << 16)
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
static void
cam_iosched_io_metric_update(struct cam_iosched_softc *isc,
sbintime_t sim_latency, int cmd, size_t size);
@@ -639,7 +639,7 @@
static inline int
cam_iosched_has_io(struct cam_iosched_softc *isc)
{
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
if (do_netflix_iosched) {
struct bio *rbp = bioq_first(&isc->bio_queue);
struct bio *wbp = bioq_first(&isc->write_queue);
@@ -672,7 +672,7 @@
static inline int
cam_iosched_has_work(struct cam_iosched_softc *isc)
{
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
if (iosched_debug > 2)
printf("has work: %d %d %d\n", cam_iosched_has_io(isc),
cam_iosched_has_more_trim(isc),
@@ -684,7 +684,7 @@
cam_iosched_has_flagged_work(isc);
}
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
static void
cam_iosched_iop_stats_init(struct cam_iosched_softc *isc, struct iop_stats *ios)
{
@@ -946,14 +946,14 @@
*iscp = malloc(sizeof(**iscp), M_CAMSCHED, M_NOWAIT | M_ZERO);
if (*iscp == NULL)
return ENOMEM;
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
if (iosched_debug)
printf("CAM IOSCHEDULER Allocating entry at %p\n", *iscp);
#endif
(*iscp)->sort_io_queue = -1;
bioq_init(&(*iscp)->bio_queue);
bioq_init(&(*iscp)->trim_queue);
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
if (do_netflix_iosched) {
bioq_init(&(*iscp)->write_queue);
(*iscp)->read_bias = 100;
@@ -984,7 +984,7 @@
{
if (isc) {
cam_iosched_flush(isc, NULL, ENXIO);
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
cam_iosched_iop_stats_fini(&isc->read_stats);
cam_iosched_iop_stats_fini(&isc->write_stats);
cam_iosched_iop_stats_fini(&isc->trim_stats);
@@ -1009,7 +1009,7 @@
void cam_iosched_sysctl_init(struct cam_iosched_softc *isc,
struct sysctl_ctx_list *ctx, struct sysctl_oid *node)
{
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
struct sysctl_oid_list *n;
#endif
@@ -1018,7 +1018,7 @@
&isc->sort_io_queue, 0,
"Sort IO queue to try and optimise disk access patterns");
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
if (!do_netflix_iosched)
return;
@@ -1060,13 +1060,13 @@
{
bioq_flush(&isc->bio_queue, stp, err);
bioq_flush(&isc->trim_queue, stp, err);
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
if (do_netflix_iosched)
bioq_flush(&isc->write_queue, stp, err);
#endif
}
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
static struct bio *
cam_iosched_get_write(struct cam_iosched_softc *isc)
{
@@ -1132,7 +1132,7 @@
cam_iosched_put_back_trim(struct cam_iosched_softc *isc, struct bio *bp)
{
bioq_insert_head(&isc->trim_queue, bp);
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
isc->trim_stats.queued++;
isc->trim_stats.total--; /* since we put it back, don't double count */
isc->trim_stats.pending--;
@@ -1155,7 +1155,7 @@
if (bp == NULL)
return NULL;
bioq_remove(&isc->trim_queue, bp);
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
isc->trim_stats.queued--;
isc->trim_stats.total++;
isc->trim_stats.pending++;
@@ -1201,7 +1201,7 @@
if ((bp = cam_iosched_get_trim(isc)) != NULL)
return bp;
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
/*
* See if we have any pending writes, and room in the queue for them,
* and if so, those are next.
@@ -1218,7 +1218,7 @@
if ((bp = bioq_first(&isc->bio_queue)) == NULL)
return NULL;
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
/*
* For the netflix scheduler, bio_queue is only for reads, so enforce
* the limits here. Enforce only for reads.
@@ -1230,7 +1230,7 @@
}
#endif
bioq_remove(&isc->bio_queue, bp);
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
if (do_netflix_iosched) {
if (bp->bio_cmd == BIO_READ) {
isc->read_stats.queued--;
@@ -1262,12 +1262,12 @@
*/
if (bp->bio_cmd == BIO_DELETE) {
bioq_disksort(&isc->trim_queue, bp);
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
isc->trim_stats.in++;
isc->trim_stats.queued++;
#endif
}
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
else if (do_netflix_iosched &&
(bp->bio_cmd == BIO_WRITE || bp->bio_cmd == BIO_FLUSH)) {
if (cam_iosched_sort_queue(isc))
@@ -1287,7 +1287,7 @@
bioq_disksort(&isc->bio_queue, bp);
else
bioq_insert_tail(&isc->bio_queue, bp);
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
if (iosched_debug > 9)
printf("Qr : %p %#x\n", bp, bp->bio_cmd);
if (bp->bio_cmd == BIO_READ) {
@@ -1331,7 +1331,7 @@
union ccb *done_ccb)
{
int retval = 0;
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
if (!do_netflix_iosched)
return retval;
@@ -1399,7 +1399,7 @@
isc->flags &= ~flags;
}
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
/*
* After the method presented in Jack Crenshaw's 1998 article "Integer
* Suqare Roots," reprinted at
@@ -1523,7 +1523,7 @@
iop->sd = (int64_t)var < 0 ? 0 : isqrt64(var);
}
-#ifdef CAM_NETFLIX_IOSCHED
+#ifdef CAM_IOSCHED_DYNAMIC
static void
cam_iosched_io_metric_update(struct cam_iosched_softc *isc,
sbintime_t sim_latency, int cmd, size_t size)
Index: head/sys/conf/options
===================================================================
--- head/sys/conf/options
+++ head/sys/conf/options
@@ -330,7 +330,7 @@
CAM_DEBUG_LUN opt_cam.h
CAM_DEBUG_FLAGS opt_cam.h
CAM_BOOT_DELAY opt_cam.h
-CAM_NETFLIX_IOSCHED opt_cam.h
+CAM_IOSCHED_DYNAMIC opt_cam.h
SCSI_DELAY opt_scsi.h
SCSI_NO_SENSE_STRINGS opt_scsi.h
SCSI_NO_OP_STRINGS opt_scsi.h
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Dec 24, 9:50 AM (4 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27220359
Default Alt Text
D6811.diff (6 KB)
Attached To
Mode
D6811: Rename CAM_NETFLIX_IOSCHED to CAM_IOSCHED_DYNAMIC to better reflect its nature.
Attached
Detach File
Event Timeline
Log In to Comment