Re: [PATCH 02/19] io-controller: Common flat fair queuing code in elevaotor layer

Divyesh Shah
2009-06-16T19:45:36Z

On Mon, Jun 8, 2009 at 7:08 PM, Vivek Goyal<vgoyal@redhat.com> wrote:
> void elv_deactivate_ioq(struct elv_fq_data *efqd, struct io_queue *ioq,
> +                                       int requeue)
> +{
> +       if (ioq == efqd->active_queue)
> +               elv_reset_active_ioq(efqd);
> +
> +       bfq_deactivate_entity(&ioq->entity, requeue);
> +}

The check for ioq == efqd->active_queue and the call to
elv_reset_active_ioq() seem to be unnecessary. This gets called from
elv_del_ioq_busy() which has 2 callers which:
- either explicitly check for ioq != efqd->active_queue
- or call elv_reset_active_ioq() right before invoking this function

This was needed earlier as the io_ioq_move() function didn't fall in
one of the 2 categories above. This has been done away with the ref
counting patch, AFAICT.

-Divyesh