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