History | View | Annotate | Download (6.1 kB)
new scsi-generic abstraction, use SG_IO (Christoph Hellwig)
Okay, I started looking into how to handle scsi-generic I/O in thenew world order.
I think the best is to use the SG_IO ioctl instead of the read/writeinterface as that allows us to support scsi passthrough on disk/cdrom...
Properly handle pthread_cond_timedwait timing out
pthread_cond_timedwait is allowed to both consume the signal andreturn with the value indicating the timeout, hence predicate shouldalways be (re)checked before taking an action
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6634 c046a42c-6fe2-441c-8c8c-71466251a162
Cosmetics
Avoid repeated creation/initalization/destruction of attr and calls togetpid
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6633 c046a42c-6fe2-441c-8c8c-71466251a162
Avoid thundering herd problem
Broadcast was used so that the I/O threads would wakeup, reset theirts values and all but one go to sleep, in other words an optimizationto prevent threads from exiting in presence of continuing I/Oactivity. Spurious wakeups make the looping around cond_timedwait with...
Avoid infinite loop around timed condition variable
This can happen due to spurious wakeups
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6631 c046a42c-6fe2-441c-8c8c-71466251a162
Error checking
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6630 c046a42c-6fe2-441c-8c8c-71466251a162
Rename sigev_signo to avoid FreeBSD problems (Juergen Lock)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6414 c046a42c-6fe2-441c-8c8c-71466251a162
Use kill instead of sigqueue: re-enables AIO on OpenBSD
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6360 c046a42c-6fe2-441c-8c8c-71466251a162
Fix race in POSIX AIO emulation (Jan Kiszka)
When we cancel an AIO request that is already being processed byaio_thread, qemu_paio_cancel should return QEMU_PAIO_NOTCANCELED as longas aio_thread isn't done with this request. But as the latter currently...
Remove unnecessary trailing newlines
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6000 c046a42c-6fe2-441c-8c8c-71466251a162
Replace posix-aio with custom thread pool
glibc implements posix-aio as a thread pool and imposes a number of limitations.
1) it limits one request per-file descriptor. we hack around this by dup()'ingfile descriptors which is hideously ugly
2) it's impossible to add new interfaces and we need a vectored read/write...