/* * add to busy list of queues for service, trying to be fair in ordering * the pending list according to last request service */ static void fiops_add_ioc_rr(struct fiops_data *fiopsd, struct fiops_ioc *ioc) { BUG_ON(fiops_ioc_on_rr(ioc)); fiops_mark_ioc_on_rr(ioc); fiopsd->busy_queues++; fiops_resort_rr_list(fiopsd, ioc); }
static void fiops_charge_vios(struct fiops_data *fiopsd, struct fiops_ioc *ioc, u64 vios) { struct fiops_rb_root *service_tree = ioc->service_tree; ioc->vios += vios; if (RB_EMPTY_ROOT(&ioc->sort_list)) fiops_del_ioc_rr(fiopsd, ioc); else fiops_resort_rr_list(fiopsd, ioc); fiops_update_min_vios(service_tree); }