Hi Adrian.. I also found this problem.. So i confused the same mmcdq name. Thanks for fixed the mmcqd name. Regards, Jaehoon Chung Adrian Hunter wrote: > For example, an eMMC with 2 boot partitions will have 3 threads. > The names change from: > > 40 ? 00:00:00 mmcqd/0 > 41 ? 00:00:00 mmcqd/0 > 42 ? 00:00:00 mmcqd/0 > > to: > > 40 ? 00:00:00 mmcqd/0 > 41 ? 00:00:00 mmcqd/0boot0 > 42 ? 00:00:00 mmcqd/0boot1 > > Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> > Cc: Andrei Warkentin <andreiw@xxxxxxxxxxxx> > --- > drivers/mmc/card/block.c | 2 +- > drivers/mmc/card/queue.c | 8 +++++--- > drivers/mmc/card/queue.h | 3 ++- > 3 files changed, 8 insertions(+), 5 deletions(-) > > diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c > index d36b7ea..bee2106 100644 > --- a/drivers/mmc/card/block.c > +++ b/drivers/mmc/card/block.c > @@ -1167,7 +1167,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, > INIT_LIST_HEAD(&md->part); > md->usage = 1; > > - ret = mmc_init_queue(&md->queue, card, &md->lock); > + ret = mmc_init_queue(&md->queue, card, &md->lock, subname); > if (ret) > goto err_putdisk; > > diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c > index c07322c..3e2db1c 100644 > --- a/drivers/mmc/card/queue.c > +++ b/drivers/mmc/card/queue.c > @@ -106,10 +106,12 @@ static void mmc_request(struct request_queue *q) > * @mq: mmc queue > * @card: mmc card to attach this queue > * @lock: queue lock > + * @subname: partition subname > * > * Initialise a MMC card request queue. > */ > -int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock) > +int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, > + spinlock_t *lock, const char *subname) > { > struct mmc_host *host = card->host; > u64 limit = BLK_BOUNCE_HIGH; > @@ -209,8 +211,8 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock > > sema_init(&mq->thread_sem, 1); > > - mq->thread = kthread_run(mmc_queue_thread, mq, "mmcqd/%d", > - host->index); > + mq->thread = kthread_run(mmc_queue_thread, mq, "mmcqd/%d%s", > + host->index, subname ? subname : ""); > > if (IS_ERR(mq->thread)) { > ret = PTR_ERR(mq->thread); > diff --git a/drivers/mmc/card/queue.h b/drivers/mmc/card/queue.h > index 64e66e0..6223ef8 100644 > --- a/drivers/mmc/card/queue.h > +++ b/drivers/mmc/card/queue.h > @@ -19,7 +19,8 @@ struct mmc_queue { > unsigned int bounce_sg_len; > }; > > -extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *); > +extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *, > + const char *); > extern void mmc_cleanup_queue(struct mmc_queue *); > extern void mmc_queue_suspend(struct mmc_queue *); > extern void mmc_queue_resume(struct mmc_queue *); -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html