Flexible I/O Tester development
 help / color / mirror / Atom feed
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 20:36:22 +0100	[thread overview]
Message-ID: <20091104193622.GJ8742@kernel.dk> (raw)
In-Reply-To: <66dfd3fe0911041131qcd032dem89f3cdfada112989@mail.gmail.com>

On Wed, Nov 04 2009, Radha Ramachandran wrote:
> Thank you for the documentation update.

I haven't updated it, it was already there :-)

> 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.

So it sounds like it's two separate issues, I'd urge you to continue
debugging yours and I'll fix this one tomorrow.

-- 
Jens Axboe


  reply	other threads:[~2009-11-04 19:36 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 [this message]
2009-11-04 20:01                 ` Jens Axboe
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=20091104193622.GJ8742@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