On Tue, 2011-07-19 at 21:52 -0500, Anthony Liguori wrote: > On 07/14/2011 08:23 AM, Avi Kivity wrote: > > On 07/14/2011 04:17 PM, Pekka Enberg wrote: > >> > > >> > I still don't follow. The guest oopses? dmesg | less. An issue with > >> > tools/kvm? gdb -p `pgrep kvm`. > >> > >> When I was debugging tools/kvm virtio code, I used to 'instrument' the > >> guest kernel with printk() calls which helped a lot. > >> > > > > Sure, but do you really need it spewing out the serial port all the time? > > > >> Also, a bug in tools/kvm can manifest in many interesting ways in the > >> guest kernel during boot, for example. You can't do dmesg then and gdb > >> won't save you. I think you've lived too long in the table KVM and Qemu > >> land to remember how important reliable printk() is for development. > > > > I guess. Also I've switched to trace_printk() since it's much nicer (and > > intergrates with other ftrace features). > > > > And again, I'm not against tools/kvm optimizing serial. I just want > > better justification for socket-mmio. > > Just to be really thorough, the optimization is incorrect for UART > emulation. Maybe for a simple PIO based console where there were no > guest visible side effects to a character write, this would be okay, but > that is not how a UART works. To be honest, I haven't checked if the implementation we have is correct - I've just checked that it would benefit from the implementation of socket ioeventfds. I'll have to look at it again based on your review and probably fix it to work correctly :) > > Just implement virtio-serial :-) You can move data as fast as you'd > like through it. > > And if virtio-serial is too complicated, make a simpler version that > doesn't have such crazy semantics. We do have virtio-serial support in /tools/kvm, you can try it using '--console virtio'. Currently I prefer using simple serial most of the time since it's the most basic and simplest method of getting output from a guest, which is quite useful when developing the core of /tools/kvm. -- Sasha. -- 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