This patch adds netlink filter rules to ignore change events from omapfb if they are long enough to be a VSYNC event. It is a rather gross hack, I don't want to expect the VSYNC= at a specific place in the raw packet as the order or length of the other properties might change. But I verified that doing a manual "echo change | tee /sys/devices/platform/omapfb/uevent" still gets through, whereas the offending vsync events are now quiet and don't wake up anything any more.
For testing, I ran my locally built udev with "sudo stop udev", "sudo ./systemd-udevd --daemon", started a monitor with "./udevadm monitor -e", and then: * screen activity now does not produce any omapfb change events any more. Tested remotely with starting and stopping messaging-app with "start application APP_ID=messaging-app; sleep 5; pkill -e messaging- app" * "echo change | sudo tee /sys/devices/platform/omapfb/uevent" shows that synthetic uevent on both the KERNEL and LIBUDEV netlink sources. Thanks to Omer for giving me ssh access to his maguro, which helped to shorten the turnaround time. This device was running with SurfaceFlinger, so for making triple sure another test should be done on Mir. ** Patch added: "udev: filter omapfv VSYNC uevents from netfilter" https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1234743/+attachment/3880060/+files/0031-ignore-omap-vsync.patch -- 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: Fix Committed 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 -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp