qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC] Replace posix-aio with custom thread pool


From: Andrea Arcangeli
Subject: Re: [Qemu-devel] [RFC] Replace posix-aio with custom thread pool
Date: Fri, 12 Dec 2008 16:44:18 +0100

On Fri, Dec 12, 2008 at 08:35:57AM -0600, Anthony Liguori wrote:
> I've been thinking about this, the problems I see are:
>
> 1) It's impossible to accept a file descriptor for a block device (possibly 
> not a problem)

What do you mean with accept? You mean to accept a tcp connection? How
would a block device fd be related to accept(2)?

> 2) You'd have to open all the file descriptors at once.  Otherwise, you get 
> really strange behavior if the file gets deleted while the guest is running 
> (for instance, with -snapshot).

Definitely, that's what I meant with hack around the bdrv api... not
even close to nice but doable in theory. Only advantage is that it
runs on older kernels but with seeking I/O lseek has to run as well.

Now that linux-aio is out of the picture for quite a long time for us,
I guess it worth to wait preadv/pwritev and stick with that and
reconsider linux-aio after they fix it... Waiting Gerd to post a full
patch.

But it's your call... I'm fine either ways. Clearly the os missing
preadv/pwritev would need to be limited to 1 thread per fd (but 1
thread per fd kind of breaks with the current _global_ list so I guess
they'll be limited to just 1 thread otherwise it may be actually
simpler to just open the file multiple times than to have a per-fd
queue ;), not the end of the world for them.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]