← Back to team overview

kernel-packages team mailing list archive

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

 

Hello Colin, or anyone else affected,

Accepted systemd into saucy-proposed. The package will build now and be
available at http://launchpad.net/ubuntu/+source/systemd/204-0ubuntu19
in a few hours, and then in the -proposed repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to
enable and use -proposed.  Your feedback will aid us getting this update
out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested, and change the tag
from verification-needed to verification-done. If it does not fix the
bug for you, please add a comment stating that, and change the tag to
verification-failed.  In either case, details of your testing will help
us make a better decision.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance!

** Description changed:

+ [SRU justification]
+ On the Galaxy Nexus (maguro) phone, the video driver wakes up udev and upstart 60 times a second sending "vsync" uevents.  This is a deeply flawed driver design, but we can't easily change it because the userspace side of the driver relies on the current behavior.  The only feasible workaround is to have udev filter out these events, so that the device isn't kept busy (with about 5% load) waking up system daemons.
+ 
+ [Test case]
+ 1. Install the updated package on an x86 system.
+ 2. Reboot.
+ 3. Confirm that the machine boots successfully.
+ 4. Install the updated package on a non-maguro arm system.
+ 5. Reboot.
+ 6. Confirm that the machine boots successfully.
+ 7. Install the updated package on a maguro system.
+ 8. Reboot.
+ 9. Confirm that the machine boots successfully.
+ 10. Confirm using 'top' that udev is not taking up a significant percentage of the CPU time.
+ 
+ [Regression potential]
+ This is a change to a core system daemon, and while the code change is guarded by an architecture check, we should be careful about updating such a core package which could cause regressions, in particular on other ARM devices.  The test case should guard against this by ensuring we verify the effect of this change on non-maguro systems prior to releasing the SRU.
+ 
  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. 
+ 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
+     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.

** Tags added: verification-needed

-- 
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:
  Invalid
Status in “powerd” package in Ubuntu:
  Fix Released
Status in “systemd” package in Ubuntu:
  Fix Committed

Bug description:
  [SRU justification]
  On the Galaxy Nexus (maguro) phone, the video driver wakes up udev and upstart 60 times a second sending "vsync" uevents.  This is a deeply flawed driver design, but we can't easily change it because the userspace side of the driver relies on the current behavior.  The only feasible workaround is to have udev filter out these events, so that the device isn't kept busy (with about 5% load) waking up system daemons.

  [Test case]
  1. Install the updated package on an x86 system.
  2. Reboot.
  3. Confirm that the machine boots successfully.
  4. Install the updated package on a non-maguro arm system.
  5. Reboot.
  6. Confirm that the machine boots successfully.
  7. Install the updated package on a maguro system.
  8. Reboot.
  9. Confirm that the machine boots successfully.
  10. Confirm using 'top' that udev is not taking up a significant percentage of the CPU time.

  [Regression potential]
  This is a change to a core system daemon, and while the code change is guarded by an architecture check, we should be careful about updating such a core package which could cause regressions, in particular on other ARM devices.  The test case should guard against this by ensuring we verify the effect of this change on non-maguro systems prior to releasing the SRU.

  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