Messages in this thread | | | Date | Thu, 19 Oct 2006 21:10:12 +0200 | From | Avi Kivity <> | Subject | Re: [PATCH 1/7] KVM: userspace interface |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |