Commit d09408ad authored by Adrian Hunter's avatar Adrian Hunter Committed by Chris Ball

mmc: queue: append partition subname to queue thread name

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: default avatarAdrian Hunter <adrian.hunter@intel.com>
Cc: Andrei Warkentin <andreiw@motorola.com>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent 4cf8c6dd
...@@ -1024,7 +1024,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, ...@@ -1024,7 +1024,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
INIT_LIST_HEAD(&md->part); INIT_LIST_HEAD(&md->part);
md->usage = 1; md->usage = 1;
ret = mmc_init_queue(&md->queue, card, &md->lock); ret = mmc_init_queue(&md->queue, card, &md->lock, subname);
if (ret) if (ret)
goto err_putdisk; goto err_putdisk;
......
...@@ -106,10 +106,12 @@ static void mmc_request(struct request_queue *q) ...@@ -106,10 +106,12 @@ static void mmc_request(struct request_queue *q)
* @mq: mmc queue * @mq: mmc queue
* @card: mmc card to attach this queue * @card: mmc card to attach this queue
* @lock: queue lock * @lock: queue lock
* @subname: partition subname
* *
* Initialise a MMC card request queue. * 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; struct mmc_host *host = card->host;
u64 limit = BLK_BOUNCE_HIGH; u64 limit = BLK_BOUNCE_HIGH;
...@@ -209,8 +211,8 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock ...@@ -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); sema_init(&mq->thread_sem, 1);
mq->thread = kthread_run(mmc_queue_thread, mq, "mmcqd/%d", mq->thread = kthread_run(mmc_queue_thread, mq, "mmcqd/%d%s",
host->index); host->index, subname ? subname : "");
if (IS_ERR(mq->thread)) { if (IS_ERR(mq->thread)) {
ret = PTR_ERR(mq->thread); ret = PTR_ERR(mq->thread);
......
...@@ -19,7 +19,8 @@ struct mmc_queue { ...@@ -19,7 +19,8 @@ struct mmc_queue {
unsigned int bounce_sg_len; 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_cleanup_queue(struct mmc_queue *);
extern void mmc_queue_suspend(struct mmc_queue *); extern void mmc_queue_suspend(struct mmc_queue *);
extern void mmc_queue_resume(struct mmc_queue *); extern void mmc_queue_resume(struct mmc_queue *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment