← Back to team overview

kernel-packages team mailing list archive

[Bug 1234743] Re: omapfb module floods system with udev events on samsung galaxy nexus

 

> Which appears to be getting a FD to "kernel" event source, via socket
created by
https://android.googlesource.com/platform/hardware/libhardware_legacy/+/android-4.3_r3/uevent/uevent.c

> so if we filter those VSYNC events on the "udev" source, systemd-udev
& upstart & et al user space shouldn't be spammed with those and the
driver will still work.

Note, ideally we would already filter them at the "kernel" netlink
source, so that udevd doesn't have to wake up 60 times a second.
Filtering them at the "libudev" source would avoid waking up clients,
but not udevd itself. However, that requires matching (kernel)
properties in the netlink packet with only the rather limited set of
instructions from http://www.gsp.com/cgi-
bin/man.cgi?section=4&topic=bpf#5 . I'll try that, but if it turns out
to be impractical, I'll instead add a hack to at least short-circuit
those in udevd, avoid all rules processing, and not forward them to the
libudev netlink source. That'll keep the udevd wakeups but at least
minimize the resources spent for each one.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1234743

Title:
  omapfb module floods system with udev events on samsung galaxy nexus

Status in Upstart:
  Fix Released
Status in “linux” package in Ubuntu:
  Invalid
Status in “lxc-android-config” package in Ubuntu:
  In Progress
Status in “powerd” package in Ubuntu:
  Fix Released
Status in “systemd” package in Ubuntu:
  In Progress

Bug description:
  Playing an mp4 on a Samsung Galaxy Nexus using today's image (3 Oct
  2013) for 30 minutes I observed that init is busy and also consuming
  heap quite rapidly.

  Attached is the output from running health-check (found in PPA:colin-
  king/white) on init pid 1114.

  Key points:

  1. messages being read/written at ~600 messages a second, hence the high context switch rate and ~4.9% CPU load. 
  2. heap consumption: ~30K a second using brk() and 2K a second via mmap

  To reproduce:

  Install health-check:

  sudo add-apt-repository ppa:colin-king/white
  sudo apt-get update && sudo apt-get install health-check

  Download a large mp4 to the phone. Keep screen from blanking using:

  sudo powerd-cli display on bright &

  then play the mp4:

  dbus-launch mediaplayer-app test.mp4
  --desktop_file_hint=/usr/share/applications/mediaplayer-app.desktop
  --stage_hint=main_stage

  And then observe that init is busy for 300 seconds:

  ps -e | grep init
      1 ?        00:02:56 init
    348 ?        00:00:00 init
   1114 ?        00:03:22 init

  sudo health-check -p 1114 -d 300

  Attached are my results for a 30 minute run.

To manage notifications about this bug go to:
https://bugs.launchpad.net/upstart/+bug/1234743/+subscriptions