Vivek Goyal wrote: ... > +int elv_init_ioq(struct elevator_queue *eq, struct io_queue *ioq, > + void *sched_queue, int ioprio_class, int ioprio, > + int is_sync) > +{ > + struct elv_fq_data *efqd = &eq->efqd; > + struct io_group *iog = io_lookup_io_group_current(efqd->queue); > + > + RB_CLEAR_NODE(&ioq->entity.rb_node); > + atomic_set(&ioq->ref, 0); > + ioq->efqd = efqd; > + ioq->entity.budget = efqd->elv_slice[is_sync]; > + elv_ioq_set_ioprio_class(ioq, ioprio_class); > + elv_ioq_set_ioprio(ioq, ioprio); > + ioq->pid = current->pid; Hi Vivek, Storing a pid in single queue circumstances doesn't make sence. So just store the pid when cfq is used. Signed-off-by: Gui Jianfeng <guijianfeng@xxxxxxxxxxxxxx> --- block/elevator-fq.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/block/elevator-fq.c b/block/elevator-fq.c index df53418..c72f7e6 100644 --- a/block/elevator-fq.c +++ b/block/elevator-fq.c @@ -1988,7 +1988,10 @@ int elv_init_ioq(struct elevator_queue *eq, struct io_queue *ioq, ioq->entity.budget = efqd->elv_slice[is_sync]; elv_ioq_set_ioprio_class(ioq, ioprio_class); elv_ioq_set_ioprio(ioq, ioprio); - ioq->pid = current->pid; + if (elv_iosched_single_ioq(eq)) + ioq->pid = 0; + else + ioq->pid = current->pid; ioq->sched_queue = sched_queue; /* If generic idle logic is enabled, mark it */ -- 1.5.4.rc3 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers