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

Dan Nicholson dbn.lists at gmail.com
Wed Jul 20 05:52:16 PDT 2011


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.

--
Dan


More information about the xorg-devel mailing list