All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Andrey Kuzmin <andrey.v.kuzmin@gmail.com>,
	Sitsofe Wheeler <sitsofe@gmail.com>
Cc: fio@vger.kernel.org
Subject: Re: Exit all jobs on error
Date: Fri, 11 Dec 2015 13:38:45 -0700	[thread overview]
Message-ID: <566B3455.6090409@kernel.dk> (raw)
In-Reply-To: <CANvN+e=Tsiizv7tXg7HsPs9wZ_AAr3CLKbf2e4qOVMN6E2L78w@mail.gmail.com>

On 12/11/2015 01:32 PM, Andrey Kuzmin wrote:
>
> On Dec 11, 2015 22:59, "Sitsofe Wheeler" <sitsofe@gmail.com
> <mailto:sitsofe@gmail.com>> wrote:
>  >
>  > On 11 December 2015 at 15:32, Jens Axboe <axboe@kernel.dk
> <mailto:axboe@kernel.dk>> wrote:
>  > > On 12/11/2015 03:01 AM, Andrey Kuzmin wrote:
>  > >>
>  > >> ^Cbs: 1 (f=1): [w(1)] [0.0% done] [0KB/0KB/0KB /s] [0/0/0 iops] [eta
>  > >> 01d:12h:24m:29s]
>  > >> Program received signal SIGINT, Interrupt.
>  > >> 0x00007ffff6b7ff3d in nanosleep () at
>  > >> ../sysdeps/unix/syscall-template.S:81
>  > >> 81 ../sysdeps/unix/syscall-template.S: No such file or directory.
>  > >> (gdb) bt
>  > >> #0  0x00007ffff6b7ff3d in nanosleep () at
>  > >> ../sysdeps/unix/syscall-template.S:81
>  > >> #1  0x00007ffff6bb14a4 in usleep (useconds=<optimized out>) at
>  > >> ../sysdeps/unix/sysv/linux/usleep.c:32
>  > >> #2  0x000000000045a7ed in do_usleep (usecs=10000) at backend.c:1951
>  > >> #3  0x000000000045b33c in run_threads () at backend.c:2216
>  > >> #4  0x000000000045b6a8 in fio_backend () at backend.c:2333
>  > >> #5  0x00000000004991cb in main (argc=4, argv=0x7fffffffdda8,
>  > >> envp=0x7fffffffddd0) at fio.c:60
>  > >
>  > >
>  > > That's not one of the IO threads, that's the main thread. It'll sit
> and wait
>  > > in that loop until jobs finish. You'll need the backtrace of one of the
>  > > stuck IO thread instead, this trace is quite normal and expected of
> backend.
>  > >
>  > > --
>  > > Jens Axboe
>  > >
>  >
>  > Andrey:
>  >
>  > Could you try
>  > thread apply all bt full
>  > (found over on
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
>  > )?
>  >
>
> That test case is already gone, but - if interested - you can easily
> simulate it by randomly dropping an io_u inside the engine.

To follow up on this, since apparently parts of that thread ended up 
outside of the mailing list.

If you drop an io_u inside the engine, then fio will of course get stuck 
waiting for completions. That would be an IO engine bug. Fio does not 
track timeouts internally, because it does not have to:

For the more real case of being stuck waiting for IO that has been 
submitted to the kernel, we strictly depend on the kernel completing 
those IOs. If not, that's a kernel bug, and it won't matter if we 
explicitly wait for the IO, since it'll happen in any case when we drop 
the aio context. Either the IO gets completed by the device, or a driver 
timeout will take care of completing it in either. In either case, we 
get a completion event.

There's no fio bug here.

-- 
Jens Axboe



  reply	other threads:[~2015-12-11 20:38 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-10  7:01 Exit all jobs on error Sitsofe Wheeler
2015-12-10 17:11 ` Jens Axboe
2015-12-10 17:58   ` Sitsofe Wheeler
2015-12-10 18:11     ` Andrey Kuzmin
2015-12-10 18:15       ` Jens Axboe
2015-12-10 18:17         ` Andrey Kuzmin
2015-12-10 18:24           ` Jens Axboe
2015-12-10 18:27             ` Andrey Kuzmin
2015-12-10 18:29               ` Jens Axboe
2015-12-10 18:30                 ` Andrey Kuzmin
2015-12-11 10:01                   ` Andrey Kuzmin
2015-12-11 15:32                     ` Jens Axboe
2015-12-11 19:59                       ` Sitsofe Wheeler
2015-12-11 20:32                         ` Andrey Kuzmin
2015-12-11 20:38                           ` Jens Axboe [this message]
2015-12-10 18:15     ` 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=566B3455.6090409@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=andrey.v.kuzmin@gmail.com \
    --cc=fio@vger.kernel.org \
    --cc=sitsofe@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.