Re: [PATCH V5 02/13] mmc: core: Add members to mmc_request and mmc_data for CQE's

Adrian Hunter
2017-08-21T09:26:19Z

On 20/08/17 14:29, Linus Walleij wrote:
> On Thu, Aug 10, 2017 at 2:08 PM, Adrian Hunter <adrian.hunter@intel.com> wrote:
>
>> Most of the information needed to issue requests to a CQE is already in
>> struct mmc_request and struct mmc_data. Add data block address, some flags,
>> and the task id (tag), and allow for cmd being NULL which it is for CQE
>> tasks.
>>
>> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
>
>> + int tag;
>
> Is this consistent with the block layer idea of "tag"?

It is named "tag" because it is the block layer tag.

>
> I am asking because I get confused.
>
> I thought the block layers idea of a "tag" was some metadata
> associated with a request. Not that I am a block layer expert.

The block layer tag is a unique number to identify the task to the hardware
queue. It is typically a number from 0 up to queue depth - 1.

> Why can't we just name this "task_id" if that is what it is in
> Linux terms? Does the specification call it "tag"?

The eMMC specification calls it "task id" but the block layer calls it
"tag". I went with "tag" to be easier for block layer people to understand.