![]() | |||||||||||
Messages in this thread |
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/ | ||||||||||
| Last update: 2006-10-19 21:13 [from the cache] ©2003-2008 | |||||||||||