[PATCH 2/4] xserver: limit the kernel subsystems we look for devices in

Michael Thayer michael.thayer at oracle.com
Mon Aug 1 14:18:48 PDT 2011


On Thu, 2011-07-21 at 09:40 +1000, Peter Hutterer wrote:
> On Wed, Jul 20, 2011 at 05:52:16AM -0700, Dan Nicholson wrote:
> > On Mon, Jul 18, 2011 at 12:17 PM, Lennart Poettering
> > <lennart at poettering.net> wrote:
> > > Don't enumerate/monitor all devices of the system (since that can be
> > > quite a few), but limit our search to devices from the "input"
> > > subsystem, as well as the "tty" subsystem (to cover Wacom tablets).
> > >
> > > This should make X start up a bit faster and reduce the number of
> > > unnecessary wake-ups of the X server.
> > > ---
> > >  config/udev.c |    7 +++++++
> > >  1 files changed, 7 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/config/udev.c b/config/udev.c
> > > index 5ac52a1..0763cc9 100644
> > > --- a/config/udev.c
> > > +++ b/config/udev.c
> > > @@ -281,6 +281,9 @@ config_udev_init(void)
> > >     if (!udev_monitor)
> > >         return 0;
> > >
> > > +    udev_monitor_filter_add_match_subsystem_devtype(udev_monitor, "input", NULL);
> > > +    udev_monitor_filter_add_match_subsystem_devtype(udev_monitor, "tty", NULL); /* For Wacom serial devices */
> > > +
> > >     if (udev_monitor_enable_receiving(udev_monitor)) {
> > >         ErrorF("config/udev: failed to bind the udev monitor\n");
> > >         return 0;
> > > @@ -289,6 +292,10 @@ config_udev_init(void)
> > >     enumerate = udev_enumerate_new(udev);
> > >     if (!enumerate)
> > >         return 0;
> > > +
> > > +    udev_enumerate_add_match_subsystem(enumerate, "input");
> > > +    udev_enumerate_add_match_subsystem(enumerate, "tty");
> > > +
> > >     udev_enumerate_scan_devices(enumerate);
> > >     devices = udev_enumerate_get_list_entry(enumerate);
> > >     udev_list_entry_foreach(device, devices) {
> > 
> > Last time this came up, we were a little uneasy about limiting the
> > subsystems. I guess this should work for devices we care about, and
> > any future input devices should fall under the input subsystem (I
> > hope). One thing we could use help on in upstream udev is marking the
> > appropriate serial devices with ID_INPUT* in
> > 60-persistent-input.rules. I'm cc'ing Thomas since he was the one who
> > originally requested that we not just filter to input.
> 
> At this point, all input devices that I've seen* are either supported by the
> kernel or are legacy serial devices that don't have a kernel driver (yet).
> I think we'll be fine filtering for those two only.
Sorry for the late response - I was rather behind on reading this list.
I would greatly appreciate it if you could add the "misc" subsystem for
the sake of the VirtualBox mouse integration.

Regards,

Michael
-- 
ORACLE Deutschland B.V. & Co. KG   Michael Thayer
Werkstrasse 24                     VirtualBox engineering
71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com

Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Jürgen Kunz, Marcel van de Molen, Alexander van der Ven



More information about the xorg-devel mailing list