* "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).