Re: [PATCH V13 04/10] mmc: block: Add CQE support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/11/17 11:00, Linus Walleij wrote:
> On Fri, Nov 3, 2017 at 2:20 PM, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
> 
>> @@ -2188,11 +2327,18 @@ enum mmc_issued mmc_blk_mq_issue_rq(struct mmc_queue *mq, struct request *req)
>>                         return MMC_REQ_FAILED_TO_START;
>>                 }
>>                 return MMC_REQ_FINISHED;
>> +       case MMC_ISSUE_DCMD:
>>         case MMC_ISSUE_ASYNC:
>>                 switch (req_op(req)) {
>> +               case REQ_OP_FLUSH:
>> +                       ret = mmc_blk_cqe_issue_flush(mq, req);
>> +                       break;
>>                 case REQ_OP_READ:
>>                 case REQ_OP_WRITE:
>> -                       ret = mmc_blk_mq_issue_rw_rq(mq, req);
>> +                       if (mq->use_cqe)
>> +                               ret = mmc_blk_cqe_issue_rw_rq(mq, req);
>> +                       else
>> +                               ret = mmc_blk_mq_issue_rw_rq(mq, req);
>>                         break;
>>                 default:
>>                         WARN_ON_ONCE(1);
> 
> This and other bits gives me the feeling CQE is now actually ONLY
> working on the MQ path.

I was not allowed to support non-mq.

> 
> That is good. We only add new functionality on the MQ path,
> yay!
> 
> But this fact (only abailable iff MQ==true) should at least be
> mentioned in the commit message I think?

Why?  CQE is MQ only.

> 
> So why not ditch the old block layer or at least make MQ default?

CQE is MQ only.

> 
> When you keep it like this people have to reconfigure
> their kernel to enable MQ before they see the benefits of MQ+CQE
> combined, I think that should rather be the default experience.

Not at all.  I guess you are confusing the legacy mmc with CQE.  CQE is not
a layer on top of legacy mmc.  It is an alternative to legacy mmc.  CQE
does not sit on top of the legacy mmc blk-mq support.  You don't have to
enable legacy mmc blk-mq support to use CQE.



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux