• Kay Sievers's avatar
    vcs: hook sysfs devices into object lifetime instead of "binding" · 4995f8ef
    Kay Sievers authored
    During bootup performance tracing I noticed many occurrences of
    vca* device creation and removal, leading to the usual userspace
    uevent processing, which are, in this case, rather pointless.
    
    A simple test showing the kernel timing (not including all the
    work userspace has to do), gives us these numbers:
      $ time for i in `seq 1000`; do echo a > /dev/tty2; done
      real    0m1.142s
      user    0m0.015s
      sys     0m0.540s
    
    If we move the hook for the vcs* driver core devices from the
    tty "binding" to the vc allocation/deallocation, which is what
    the vcs* devices represent, we get the following numbers:
      $ time for i in `seq 1000`; do echo a > /dev/tty2; done
      real    0m0.152s
      user    0m0.030s
      sys     0m0.072s
    
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Signed-off-by: default avatarKay Sievers <kay.sievers@vrfy.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    4995f8ef
vt.c 97.9 KB