RE: [PATCH 0/5] mmc: Soft Command queue implementation for eMMC5.1 device

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

 



Hi Chuanxiao,


> -----Original Message-----
> From: Dong, Chuanxiao [mailto:chuanxiao.dong@xxxxxxxxx]
> Sent: Thursday, April 02, 2015 1:52 PM
> To: Alex Lemberg; linux-mmc@xxxxxxxxxxxxxxx
> Cc: Yuliy Izrailov
> Subject: RE: [PATCH 0/5] mmc: Soft Command queue implementation for
> eMMC5.1 device
> 
> Thanks Alex for review.
> 
> From my understanding, if host->areq == areq, then means the areq is the
> current running request. By this way, driver will clear the executable ready bit
> in slots and continue to find the next one. So the task with the same ID won't be
> executed at the same time.

Right, but there is a case for context switch:

> 
> +	do {
> +		id = find_first_bit(&slots, mq->qdepth);
> +		if (id < mq->qdepth) {
> +			areq = &mq->mqrq[id].mmc_active;

What if host->areq will be changed as the result of completion interrupt,
in parallel or just before this if condition?

> +			if (host->areq == areq)
> +				goto next;
> .....
> ......
> +next:
> +		__clear_bit(id, &slots);
> +	} while (status);
> 
> I also prepared patch set v1, which won't send CMD13 to poll cmdq ready
> during a cmdq request is executing by CMD46/47. Will send them out later.
> 
> Thanks
> Chuanxiao
> 
> > -----Original Message-----
> > From: Alex Lemberg [mailto:Alex.Lemberg@xxxxxxxxxxx]
> > Sent: Thursday, April 02, 2015 4:57 PM
> > To: Dong, Chuanxiao; linux-mmc@xxxxxxxxxxxxxxx
> > Cc: Yuliy Izrailov
> > Subject: RE: [PATCH 0/5] mmc: Soft Command queue implementation for
> > eMMC5.1 device
> >
> > Hi Chuanxiao,
> >
> >
> > > -----Original Message-----
> > > From: linux-mmc-owner@xxxxxxxxxxxxxxx [mailto:linux-mmc-
> > > owner@xxxxxxxxxxxxxxx] On Behalf Of Chuanxiao Dong
> > > Sent: Tuesday, March 17, 2015 1:10 PM
> > > To: linux-mmc@xxxxxxxxxxxxxxx
> > > Subject: [PATCH 0/5] mmc: Soft Command queue implementation for
> > > eMMC5.1 device
> > >
> > > Hello
> > >
> > > This serial of patches can implement the eMMC5.1 device command
> > > queue feature even a host controller doesn't support CMDQ. Several
> > > weeks ago I submitted RFC patches for review and collected some review
> comments.
> > > Right now these comments are fixed thus I submit again as the
> > > offical patches. Please have a review.
> >
> > Thanks for sending the new patch.
> > We have reviewed and see issues still exists like in previous patch version.
> > The driver flow where request with the same TID is executed right
> > after completing its data transfer, is still possible.
> > We suspect that the new solution is not covering the case of driver
> > thread context switch, Specifically the following condition in block.c:
> >
> > +			if (host->areq == areq)
> > +				goto next;
> >
> >
> > Thanks,
> > Alex
> >
> > >
> > > Chuanxiao Dong (5):
> > >   mmc: replace sbc to precmd and add postcmd
> > >   mmc: host: add runtime PM for host class dev
> > >   mmc: queue: change mqrq_cur and mqrq_pre to mq qdepth
> > >   mmc: core: add support for CMDQ feature in MMC Core stack
> > >   mmc: sdhci: add SW CMDQ support for SDHCI host
> > >
> > >  drivers/mmc/card/block.c      |  538
> > > ++++++++++++++++++++++++++++++++++++++---
> > >  drivers/mmc/card/queue.c      |  213 ++++++++--------
> > >  drivers/mmc/card/queue.h      |   14 +-
> > >  drivers/mmc/core/core.c       |   85 ++++++-
> > >  drivers/mmc/core/host.c       |   13 +
> > >  drivers/mmc/core/mmc.c        |   37 ++-
> > >  drivers/mmc/host/dw_mmc.c     |    8 +-
> > >  drivers/mmc/host/mmci.c       |   14 +-
> > >  drivers/mmc/host/omap_hsmmc.c |   18 +-
> > >  drivers/mmc/host/sdhci-acpi.c |    1 -
> > >  drivers/mmc/host/sdhci-pci.c  |    1 -
> > >  drivers/mmc/host/sdhci.c      |  137 +++++++++--
> > >  drivers/mmc/host/sdhci.h      |    1 +
> > >  include/linux/mmc/card.h      |    3 +
> > >  include/linux/mmc/core.h      |    5 +-
> > >  include/linux/mmc/host.h      |    5 +
> > >  include/linux/mmc/mmc.h       |   21 ++
> > >  include/linux/mmc/pm.h        |    1 +
> > >  18 files changed, 911 insertions(+), 204 deletions(-)
> > >
> > > --
> > > 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
--
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




[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux