linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* "exclude asynchronous transfer" patch causes boot fail
@ 2013-06-10 19:53 Daniel Drake
  2013-06-14 21:17 ` Daniel Drake
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Drake @ 2013-06-10 19:53 UTC (permalink / raw)
  To: linux-mmc@vger.kernel.org; +Cc: tgih.jun

Hi,

Testing the latest linus kernel on OLPC XO-4 (sdhci-pxav3), boot
fails. Userspace does start, and I see that systemd is starting a few
services (feels a bit slower than usual), then it hangs still while
loading initial services - I don't even get to a shell prompt.

git-bisect shows the following commit introduces the problem:

commit 369d321ed1baa7748e770aaaae4d8effad699633
Author: Seungwon Jeon <tgih.jun@samsung.com>
Date:   Wed Dec 26 10:40:17 2012 +0900

    mmc: queue: exclude asynchronous transfer for special request

mmc debug messages from the point of hang:

sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
mmc1: req done (CMD18): 0: 00000900 00000000 00000000 00000000
mmc1:     4096 bytes transferred: 0
mmc1:     (CMD12): 0: 00000000 00000000 00000000 00000000
<mmc1: starting CMD23 arg 00000008 flags 00000015>
mmc1: starting CMD18 arg 00023000 flags 000000b5
mmc1:     blksz 512 blocks 8 flags 00000200 tsac 10 ms nsac 0
mmc1:     CMD12 arg 00000000 flags 0000049d
sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc1 got interrupt: 0x00000002
mmc1: req done (CMD18): 0: 00000900 00000000 00000000 00000000
mmc1:     4096 bytes transferred: 0
mmc1:     (CMD12): 0: 00000000 00000000 00000000 00000000


If I modify the patch as follows, things seem to be back to normal:
#define MMC_REQ_SPECIAL_MASK (REQ_DISCARD)

Whereas setting it as follows causes the boot failure:
#define MMC_REQ_SPECIAL_MASK (REQ_FLUSH)

So I would suspect that there is some incompatibility between
REQ_FLUSH handling and the optimization that this patch introduces.

Any ideas?

Daniel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: "exclude asynchronous transfer" patch causes boot fail
  2013-06-10 19:53 "exclude asynchronous transfer" patch causes boot fail Daniel Drake
@ 2013-06-14 21:17 ` Daniel Drake
  2013-06-18 12:33   ` Seungwon Jeon
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Drake @ 2013-06-14 21:17 UTC (permalink / raw)
  To: linux-mmc@vger.kernel.org; +Cc: tgih.jun

On Mon, Jun 10, 2013 at 1:53 PM, Daniel Drake <dsd@laptop.org> wrote:
> Testing the latest linus kernel on OLPC XO-4 (sdhci-pxav3), boot
> fails. Userspace does start, and I see that systemd is starting a few
> services (feels a bit slower than usual), then it hangs still while
> loading initial services - I don't even get to a shell prompt.
>
> git-bisect shows the following commit introduces the problem:
>
> commit 369d321ed1baa7748e770aaaae4d8effad699633
> Author: Seungwon Jeon <tgih.jun@samsung.com>
> Date:   Wed Dec 26 10:40:17 2012 +0900
>
>     mmc: queue: exclude asynchronous transfer for special request

I realised that I wasn't testing linus master as I thought I was - I
was some way back in the history.
Updating to the latest makes the issue go away. I guess this was already fixed.

Thanks
Daniel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: "exclude asynchronous transfer" patch causes boot fail
  2013-06-14 21:17 ` Daniel Drake
@ 2013-06-18 12:33   ` Seungwon Jeon
  0 siblings, 0 replies; 3+ messages in thread
From: Seungwon Jeon @ 2013-06-18 12:33 UTC (permalink / raw)
  To: 'Daniel Drake', linux-mmc

On Saturday, June 15, 2013, Daniel Drake wrote:
> On Mon, Jun 10, 2013 at 1:53 PM, Daniel Drake <dsd@laptop.org> wrote:
> > Testing the latest linus kernel on OLPC XO-4 (sdhci-pxav3), boot
> > fails. Userspace does start, and I see that systemd is starting a few
> > services (feels a bit slower than usual), then it hangs still while
> > loading initial services - I don't even get to a shell prompt.
> >
> > git-bisect shows the following commit introduces the problem:
> >
> > commit 369d321ed1baa7748e770aaaae4d8effad699633
> > Author: Seungwon Jeon <tgih.jun@samsung.com>
> > Date:   Wed Dec 26 10:40:17 2012 +0900
> >
> >     mmc: queue: exclude asynchronous transfer for special request
> 
> I realised that I wasn't testing linus master as I thought I was - I
> was some way back in the history.
> Updating to the latest makes the issue go away. I guess this was already fixed.
Okay.
For reference, there is no difference with between REQ_DISCARD and REG_FLUSH
in mmc_blk_issue_rq()'s handling.

Thanks,
Seungwon Jeon
> 
> Thanks
> Daniel


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-06-18 12:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-10 19:53 "exclude asynchronous transfer" patch causes boot fail Daniel Drake
2013-06-14 21:17 ` Daniel Drake
2013-06-18 12:33   ` Seungwon Jeon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).