All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <aarcange@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
	qemu-devel@nongnu.org, kvm-devel <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] [RFC] Replace posix-aio with custom thread pool
Date: Wed, 10 Dec 2008 20:08:10 +0100	[thread overview]
Message-ID: <20081210190810.GG18814@random.random> (raw)
In-Reply-To: <49400F69.8080707@codemonkey.ws>

On Wed, Dec 10, 2008 at 12:50:17PM -0600, Anthony Liguori wrote:
> But opening twice means that you lose coherency with NFS.

Not sure why. They're not running from different nfs clients. If this
really isn't feasible, other ways to go would be to stick with a
single thread and add kernel aio to fix seeking I/O bandwidth (so cfq
indexing the bucket by the thread id will also work ok).

Alternatively we can support readv/writev only with kernel aio, no
threads, and we emulate it with a flood of pread/pwrite on the other
host os plus we set DEBUG_BOUNCE where readv/writev is emulated. But
then linux will be the only host OS benefiting from zerocopy.

If we never want to add kernel aio, we can also add preadv/pwritev to
linux but it remains a linux-only solution, so going with kernel aio
for a linux-only solution is surely better than the workaround with
userland threads plus preadv/pwritev. Still Al or somebody should add
preadv/pwritev, those are needed and useful as shown here.

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <aarcange@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
	kvm-devel <kvm@vger.kernel.org>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC] Replace posix-aio with custom thread pool
Date: Wed, 10 Dec 2008 20:08:10 +0100	[thread overview]
Message-ID: <20081210190810.GG18814@random.random> (raw)
In-Reply-To: <49400F69.8080707@codemonkey.ws>

On Wed, Dec 10, 2008 at 12:50:17PM -0600, Anthony Liguori wrote:
> But opening twice means that you lose coherency with NFS.

Not sure why. They're not running from different nfs clients. If this
really isn't feasible, other ways to go would be to stick with a
single thread and add kernel aio to fix seeking I/O bandwidth (so cfq
indexing the bucket by the thread id will also work ok).

Alternatively we can support readv/writev only with kernel aio, no
threads, and we emulate it with a flood of pread/pwrite on the other
host os plus we set DEBUG_BOUNCE where readv/writev is emulated. But
then linux will be the only host OS benefiting from zerocopy.

If we never want to add kernel aio, we can also add preadv/pwritev to
linux but it remains a linux-only solution, so going with kernel aio
for a linux-only solution is surely better than the workaround with
userland threads plus preadv/pwritev. Still Al or somebody should add
preadv/pwritev, those are needed and useful as shown here.

  reply	other threads:[~2008-12-10 19:08 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-05 21:21 [RFC] Replace posix-aio with custom thread pool Anthony Liguori
2008-12-05 21:21 ` [Qemu-devel] " Anthony Liguori
2008-12-06  9:03 ` Blue Swirl
2008-12-06 18:26   ` Jamie Lokier
2008-12-08 18:23   ` Anthony Liguori
2008-12-08 18:23     ` Anthony Liguori
2008-12-09 15:51 ` Gerd Hoffmann
2008-12-09 16:01   ` Anthony Liguori
2008-12-10 16:44     ` Andrea Arcangeli
2008-12-10 17:21       ` Anthony Liguori
2008-12-10 17:21         ` Anthony Liguori
2008-12-10 17:29         ` Gerd Hoffmann
2008-12-10 18:50           ` Anthony Liguori
2008-12-10 19:08             ` Andrea Arcangeli [this message]
2008-12-10 19:08               ` Andrea Arcangeli
2008-12-11 13:12               ` Andrea Arcangeli
2008-12-11 15:24                 ` Gerd Hoffmann
2008-12-11 15:24                   ` Gerd Hoffmann
2008-12-11 15:53                   ` Andrea Arcangeli
2008-12-11 15:53                     ` Andrea Arcangeli
2008-12-11 16:11                     ` Gerd Hoffmann
2008-12-11 16:11                       ` Gerd Hoffmann
2008-12-11 16:49                       ` Andrea Arcangeli
2008-12-11 16:49                         ` Andrea Arcangeli
2008-12-11 17:20                         ` Gerd Hoffmann
2008-12-11 17:20                           ` Gerd Hoffmann
2008-12-11 18:11                           ` Andrea Arcangeli
2008-12-11 18:11                             ` Andrea Arcangeli
2008-12-11 20:38                             ` Gerd Hoffmann
2008-12-11 20:38                               ` Gerd Hoffmann
2008-12-11 20:40                             ` Anthony Liguori
2008-12-12  8:23                             ` Jens Axboe
2008-12-12  8:23                               ` Jens Axboe
2008-12-12 11:51                               ` Andrea Arcangeli
2008-12-12 11:51                                 ` Andrea Arcangeli
2008-12-12 11:54                                 ` Jens Axboe
2008-12-12 11:54                                   ` Jens Axboe
2008-12-12 14:13                                   ` Andrea Arcangeli
2008-12-12 14:13                                     ` Andrea Arcangeli
2008-12-12 14:24                                     ` Anthony Liguori
2008-12-12 14:24                                       ` Anthony Liguori
2008-12-12 16:33                                       ` Chris Wright
2008-12-12 16:33                                         ` Chris Wright
2008-12-12 16:51                                         ` Anthony Liguori
2008-12-12 16:51                                           ` Anthony Liguori
2008-12-12 16:52                                           ` Chris Wright
2008-12-12 16:52                                             ` Chris Wright
2008-12-11 21:32                         ` Christoph Hellwig
2008-12-12  0:27                           ` Andrea Arcangeli
2008-12-12  0:27                             ` Andrea Arcangeli
2008-12-11 21:30                     ` Christoph Hellwig
2008-12-11 16:41                   ` Anthony Liguori
2008-12-11 16:41                     ` Anthony Liguori
2008-12-12 14:24               ` Andrea Arcangeli
2008-12-12 14:24                 ` Andrea Arcangeli
2008-12-12 14:35                 ` Anthony Liguori
2008-12-12 14:35                   ` Anthony Liguori
2008-12-12 15:44                   ` Andrea Arcangeli
2008-12-12 15:44                     ` Andrea Arcangeli
2008-12-12 16:49                     ` Anthony Liguori
2008-12-12 16:49                       ` Anthony Liguori
2008-12-12 17:09                       ` Andrea Arcangeli
2008-12-12 17:09                         ` Andrea Arcangeli
2008-12-12 17:25                         ` Anthony Liguori
2008-12-12 17:25                           ` Anthony Liguori
2008-12-12 17:52                           ` Andrea Arcangeli
2008-12-12 17:52                             ` Andrea Arcangeli
2008-12-12 18:17                             ` Anthony Liguori
2008-12-12 18:17                               ` Anthony Liguori
2008-12-12 18:26                               ` Andrea Arcangeli
2008-12-12 20:12                                 ` Gerd Hoffmann
2008-12-12 20:17                                   ` Anthony Liguori
2008-12-12 20:35                                     ` Gerd Hoffmann
2008-12-09 17:16   ` Avi Kivity
2008-12-17 14:44 ` Ian Jackson

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=20081210190810.GG18814@random.random \
    --to=aarcange@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=kraxel@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    /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.