Hi, On (Mon) 28 Nov 2011 [15:40:41], Miche Baker-Harvey wrote: > Amit, > > You said that the work would be serialized "due to port additions > being on work items on the same workqueue". I'm not seeing that. You leave a lot of questions unanswered. What's your environment? Are you hot-plugging ports? Are you using qemu? What's your command line? > I've double checked this by using a mutex_trylock in > hvc_console::hvc_alloc(), and here's the relevant output from dmesg: > > root@myubuntu:~# dmesg | grep MBH > [3307216.210274] MBH: got hvc_ports_mutex > [3307216.210690] MBH: trylock of hvc_ports_mutex failed > [3307216.211143] MBH: got hvc_ports_mutex > > This is in a system with two virtio console ports, each of which is a > console. I think if the VIRTIO_CONSOLE_CONSOLE_PORT message handling > were actually being serialized, the trylock should never fail. Agreed. > What's the source of the serialization for the workqueue items? At > first reading it looks like the control_work_handler gets called for > each virtio interrupt? It all depends on how you add ports. If you're using qemu, they happen via the control work handler. Amit _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization