[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4AAF98A3.7080404@codemonkey.ws>
Date: Tue, 15 Sep 2009 08:37:39 -0500
From: Anthony Liguori <anthony@...emonkey.ws>
To: Amit Shah <amit.shah@...hat.com>
CC: Alan Cox <alan@...ux.intel.com>, rusty@...tcorp.com.au,
virtualization@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org, greg@...ah.com
Subject: Re: [PATCH] virtio_console: Add support for multiple ports for generic
guest and host communication
Amit Shah wrote:
> On (Tue) Sep 15 2009 [07:57:10], Anthony Liguori wrote:
>
>> Amit Shah wrote:
>>
>>> Hey Greg,
>>>
>>> Can you tell me how this could work out -- each console port could have
>>> a "role" string associated with it (obtainable from the invoking qemu
>>> process in case of qemu/kvm). Something that I have in mind currently
>>> is:
>>>
>>> $ qemu-kvm ... -virtioconsole role=org/qemu/clipboard
>>>
>>> and then the guest kernel sees the string, and puts the
>>> "org/qemu/clipboard" in some file in sysfs. Guest userspace should then
>>> be able to open and read/write to
>>>
>>> /dev/virtio_console/org/qemu/clipboard
>>>
>>>
>> That's probably not what we want. I imagine what we want is:
>>
>> /dev/ttyV0
>> /dev/ttyV1
>> /dev/ttyVN
>>
>> And then we want:
>>
>> /sys/class/virtio-console/ttyV0/name -> "org.qemu.clipboard"
>>
>> Userspace can detect when new virtio-consoles appear via udev events.
>> When it sees a new ttyVN, it can then look in sysfs to discover it's
>> name.
>>
>
> OK; but that's kind of roundabout isn't it? An application, instead of
> watching for the console port it's interested in, has to instead monitor
> all the ports.
>
If you wanted to use /dev/virtio/org/qemu/clipboard you still have the
same problem. You have to use udev or inotify to listen for a new file
in a directory.
The /dev/ path may look nicer from a high level, but the code ends up
being roughly the same for either approach. What I propose has the
advantage of looking like existing subsystems. It also avoids encoding
device information in the device name.
> So in effect there has to be one app monitoring for new ports and then
> that app exec'ing the corresponding app meant for that port.
>
I think if you think through both models, they end up looking the same.
Regards,
Anthony Liguroi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists