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

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

 



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.

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?

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

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.

Yours,
Linus Walleij



[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