Anthony Liguori wrote:
ioctls are probably wrong here though. Ideally, you would want to be
able to support an SMP guest. This means you need to have two virtual
processors executing in kernel space. If you use ioctls, it forces
you to have two separate threads in userspace. This would be hard for
something like QEMU which is currently single threaded (and not at all
thread safe).
Since we're using the Linux scheduler, we need a task per virtual cpu
anyway, so a thread per vcpu is not a problem.
If you used a read/write interface, you could poll for any number of
processors and handle IO emulation in a single userspace thread (which
seems closer to how hardware really works anyway).
We can still do that by having the thread write an I/O request to
hardware service thread, and read back the response. However that will
not be too good for scheduling. For now the smp plan is to slap a
single lock on the qemu device model, and later fine-grain the locking
on individual devices as necessary.
Qemu's transition to aio will probably help in reducing the amount of
work done under lock.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]