cfq_dispatch_sort(cfqd->queue, crq); 
cfq_dispatch_insert(cfqd->queue, crq); 
__cfq_dispatch_requests(struct cfq_data *cfqd, struct cfq_queue *cfqq,			int max_dispatch){	int dispatched = 0;	BUG_ON(RB_EMPTY(&cfqq->sort_list));	do {		struct cfq_rq *crq;		/*		 * follow expired path, else get first next available		 */		if ((crq = cfq_check_fifo(cfqq)) == NULL)			crq = cfqq->next_crq;		/*		 * finally, insert request into driver dispatch list		 */		cfq_dispatch_sort(cfqd->queue, crq);		cfqd->dispatch_slice++;		dispatched++;		if (!cfqd->active_cic) {			atomic_inc(&crq->io_context->ioc->refcount);			cfqd->active_cic = crq->io_context;		}		if (RB_EMPTY(&cfqq->sort_list))			break;	} while (dispatched < max_dispatch);	/*	 * if slice end isn't set yet, set it. if at least one request was	 * sync, use the sync time slice value	 */	if (!cfqq->slice_end)		cfq_set_prio_slice(cfqd, cfqq);	/*	 * expire an async queue immediately if it has used up its slice. idle	 * queue always expire after 1 dispatch round.	 */	if ((!cfq_cfqq_sync(cfqq) &&	    cfqd->dispatch_slice >= cfq_prio_to_maxrq(cfqd, cfqq)) ||	    cfq_class_idle(cfqq))		cfq_slice_expired(cfqd, 0);	return dispatched;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b4878f245ec8e168cdd1f170f823a750b7dd4af5/cfq-iosched.c/buggy/drivers/block/cfq-iosched.c