On (Tue) Aug 25 2009 [11:47:20], Amit Shah wrote: > > Hello all, > > Here is a new iteration of the patch series that implements a > transport for guest and host communications. > > The code has been updated to reuse the virtio-console device instead > of creating a new virtio-serial device. And the problem now is that hvc calls the put_chars function with spinlocks held and we now allocate pages in send_buf(), called from put_chars. A few solutions: - Keep things as they are, virtio_console.c remains as it is and virtio_serial.c gets added - Have separate write paths for console devices in virtio_console.c, which would beat the purpose of merging the two drivers and then they'd be better off standalone - Convert hvc's usage of spinlocks to mutexes. I've no idea how this will play out; I'm no expert here. But I did try doing this and so far it all looks OK. No lockups, lockdep warnings, nothing. I have full debugging enabled. But this doesn't mean it's right. Comments? Amit -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html