Changeset View
Changeset View
Standalone View
Standalone View
head/sys/cam/cam_iosched.c
Show First 20 Lines • Show All 1,016 Lines • ▼ Show 20 Lines | #endif | ||||
(*iscp)->sort_io_queue = -1; | (*iscp)->sort_io_queue = -1; | ||||
bioq_init(&(*iscp)->bio_queue); | bioq_init(&(*iscp)->bio_queue); | ||||
bioq_init(&(*iscp)->trim_queue); | bioq_init(&(*iscp)->trim_queue); | ||||
#ifdef CAM_IOSCHED_DYNAMIC | #ifdef CAM_IOSCHED_DYNAMIC | ||||
if (do_dynamic_iosched) { | if (do_dynamic_iosched) { | ||||
bioq_init(&(*iscp)->write_queue); | bioq_init(&(*iscp)->write_queue); | ||||
(*iscp)->read_bias = 100; | (*iscp)->read_bias = 100; | ||||
(*iscp)->current_read_bias = 100; | (*iscp)->current_read_bias = 100; | ||||
(*iscp)->quanta = 200; | (*iscp)->quanta = min(hz, 200); | ||||
cam_iosched_iop_stats_init(*iscp, &(*iscp)->read_stats); | cam_iosched_iop_stats_init(*iscp, &(*iscp)->read_stats); | ||||
cam_iosched_iop_stats_init(*iscp, &(*iscp)->write_stats); | cam_iosched_iop_stats_init(*iscp, &(*iscp)->write_stats); | ||||
cam_iosched_iop_stats_init(*iscp, &(*iscp)->trim_stats); | cam_iosched_iop_stats_init(*iscp, &(*iscp)->trim_stats); | ||||
(*iscp)->trim_stats.max = 1; /* Trims are special: one at a time for now */ | (*iscp)->trim_stats.max = 1; /* Trims are special: one at a time for now */ | ||||
(*iscp)->last_time = sbinuptime(); | (*iscp)->last_time = sbinuptime(); | ||||
callout_init_mtx(&(*iscp)->ticker, cam_periph_mtx(periph), 0); | callout_init_mtx(&(*iscp)->ticker, cam_periph_mtx(periph), 0); | ||||
(*iscp)->periph = periph; | (*iscp)->periph = periph; | ||||
cam_iosched_cl_init(&(*iscp)->cl, *iscp); | cam_iosched_cl_init(&(*iscp)->cl, *iscp); | ||||
▲ Show 20 Lines • Show All 662 Lines • Show Last 20 Lines |