[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170106145235.51630baf@bahia.lan>
Date: Fri, 6 Jan 2017 14:52:35 +0100
From: Greg Kurz <groug@...d.org>
To: Al Viro <viro@...IV.linux.org.uk>
Cc: Tuomas Tynkkynen <tuomas@...era.com>,
linux-fsdevel@...r.kernel.org,
v9fs-developer@...ts.sourceforge.net, linux-kernel@...r.kernel.org
Subject: Re: [V9fs-developer] 9pfs hangs since 4.7
On Wed, 4 Jan 2017 23:01:01 +0000
Al Viro <viro@...IV.linux.org.uk> wrote:
> > Here's logs that should be complete this time:
> >
> > https://gist.githubusercontent.com/dezgeg/08629d4c8ca79da794bc087e5951e518/raw/a1a82b9bc24e5282c82beb43a9dc91974ffcf75a/9p.qemu.log
> > https://gist.githubusercontent.com/dezgeg/1d5f1cc0647e336c59989fc62780eb2e/raw/d7623755a895b0441c608ddba366d20bbf47ab0b/9p.dmesg.log
>
> Fun. All requests prior to
> [ 360.110282] dd-1899 1.... 18497262us : 9p_client_req: client 18446612134390128640 request P9_TWALK tag 25
> line in dmesg had been seen by the servers; all requests starting with that
> one had not. Replies to earlier requests kept arriving just fine.
>
Looking at the tag numbers, I think we're hitting the hardcoded limit of 128
simultaneous requests in QEMU (which doesn't produce any error, new requests
are silently dropped).
Tuomas, can you change MAX_REQ to some higher value (< 65535 since tag is
2-byte and 0xffff is reserved) to confirm ?
> >From the server side, everything looks nice and sane - it has processed
> all requests it had seen, and aside of slight difference in the arrival
> order server-side and client-side logs match, except for the last 26
> requests the client claims to have sent and the server has never seen.
>
> All traffic for another client (there had been less of it) has ceased long
> before that point, so we can't really tell if it's just this client that
> got buggered. Interesting...
>
> Looking at the tracepoints, those requests got through p9_client_prepare_req();
> we have no idea whether it got through p9_virtio_request(). OTOH, AFAICS
> nothing had been sleeping in there...
>
> FWIW, it might be interesting to try
> WARN_ON(!virtqueue_kick(chan->vq));
> in p9_virtio_request() (instead of blind virtqueue_kick(chan->vq)) and see
> if it triggers. Incidentally, it looks like p9_virtio_request() ought to
> return an error if that happens...
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> V9fs-developer mailing list
> V9fs-developer@...ts.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/v9fs-developer
Powered by blists - more mailing lists