From: Jens Axboe <jens.axboe@oracle.com>
To: Radha Ramachandran <radha@google.com>
Cc: fio@vger.kernel.org
Subject: Re: Add extra_buff_count flag
Date: Wed, 4 Nov 2009 21:01:58 +0100 [thread overview]
Message-ID: <20091104200158.GK8742@kernel.dk> (raw)
In-Reply-To: <20091104193622.GJ8742@kernel.dk>
On Wed, Nov 04 2009, Jens Axboe wrote:
> > You also mentioned that you saw some kind of a race on io_u->flags
> > today, do you by any chance know if you were using iodepth_low or
> > iodepth_batch_complete or libaio engine options.
> > I think I see an issue when using them and understand why it happens,
> > but dont have a clean fix yet, will hopefully have one soon. I was
> > wondering if its the same issue you are seeing.
> > Basically the issue is we might think the queue is full (because we
> > cannot allocate any more io_u (they are probably doing async verify)),
> > but the code assumes that if the queue is full, then there is atleast
> > one I/O that we can do "io_getevents" on. And that will cause a hang
> > in the code.
>
> I didn't use libaio, I can reproduce it with the sync engine directly
> and much easier if using fast "null" verifies. It triggers this assert
> in put_io_u():
>
> assert((io_u->flags & IO_U_F_FREE) == 0);
>
> and this in __get_io_u():
>
> assert(io_u->flags & IO_U_F_FREE);
>
> The former I think is just a bug, it's likely a reput or something, but
> not sure yet. The latter looks like a race on the flags, since it isn't
> always locked down when manipulated.
I think this is fixed now, committed a patch for it.
--
Jens Axboe
next prev parent reply other threads:[~2009-11-04 20:01 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-04 0:33 Add extra_buff_count flag Radha Ramachandran
2009-11-04 7:35 ` Jens Axboe
2009-11-04 17:12 ` Radha Ramachandran
2009-11-04 17:29 ` Jens Axboe
2009-11-04 17:39 ` Radha Ramachandran
2009-11-04 17:41 ` Jens Axboe
2009-11-04 19:22 ` Jens Axboe
2009-11-04 19:31 ` Radha Ramachandran
2009-11-04 19:36 ` Jens Axboe
2009-11-04 20:01 ` Jens Axboe [this message]
2009-11-04 22:50 ` Radha Ramachandran
2009-11-05 7:32 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091104200158.GK8742@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=fio@vger.kernel.org \
--cc=radha@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox