← Back to team overview

touch-packages team mailing list archive

[Bug 1479250] Re: unity8 process using CPU when the phone is idle

 

Even with the fix unity8 is the busiest process while the phone is idle.
strace shows it is constantly:

clock_gettime(CLOCK_MONOTONIC, {72187, 518292300}) = 0
clock_gettime(CLOCK_MONOTONIC, {72187, 520417454}) = 0
poll([{fd=5, events=POLLIN}, {fd=49, events=POLLIN}, {fd=50, events=POLLIN}, {fd=54, events=POLLIN}, {fd=61, events=POLLIN}, {fd=71, events=POLLIN}, {fd=74, events=POLLIN}, {fd=78, events=POLLIN}, {fd=94, events=POLLIN}, {fd=102, events=POLLIN}, {fd=112, events=POLLIN}], 11, 2480) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
clock_gettime(CLOCK_MONOTONIC, {72187, 585895531}) = 0
clock_gettime(CLOCK_MONOTONIC, {72187, 588166993}) = 0
poll([{fd=5, events=POLLIN}, {fd=49, events=POLLIN}, {fd=50, events=POLLIN}, {fd=54, events=POLLIN}, {fd=61, events=POLLIN}, {fd=71, events=POLLIN}, {fd=74, events=POLLIN}, {fd=78, events=POLLIN}, {fd=94, events=POLLIN}, {fd=102, events=POLLIN}, {fd=112, events=POLLIN}], 11, 2412) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
clock_gettime(CLOCK_MONOTONIC, {72187, 653935377}) = 0
clock_gettime(CLOCK_MONOTONIC, {72187, 656290762}) = 0
poll([{fd=5, events=POLLIN}, {fd=49, events=POLLIN}, {fd=50, events=POLLIN}, {fd=54, events=POLLIN}, {fd=61, events=POLLIN}, {fd=71, events=POLLIN}, {fd=74, events=POLLIN}, {fd=78, events=POLLIN}, {fd=94, events=POLLIN}, {fd=102, events=POLLIN}, {fd=112, events=POLLIN}], 11, 2344) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
clock_gettime(CLOCK_MONOTONIC, {72187, 719686685}) = 0
clock_gettime(CLOCK_MONOTONIC, {72187, 721147762}) = 0
poll([{fd=5, events=POLLIN}, {fd=49, events=POLLIN}, {fd=50, events=POLLIN}, {fd=54, events=POLLIN}, {fd=61, events=POLLIN}, {fd=71, events=POLLIN}, {fd=74, events=POLLIN}, {fd=78, events=POLLIN}, {fd=94, events=POLLIN}, {fd=102, events=POLLIN}, {fd=112, events=POLLIN}], 11, 2279) = 1 ([{fd=5, revents=POLLIN}])

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1479250

Title:
  unity8 process using CPU when the phone is idle

Status in QtMir:
  Triaged
Status in The Ubuntu Power Consumption Project:
  New
Status in qtmir package in Ubuntu:
  Triaged
Status in unity8 package in Ubuntu:
  New

Bug description:
  top reports the unity8 process is consuming about 1% CPU even when the
  phone is idle (screen on):

  11688 phablet   20   0  482184 101352  44872 S  1.0  5.4   0:37.10
  unity8

  This makes unity8 the top consumer of CPU. 1% on modern CPUs like you
  find in phones is actually a very large amount of work going on (~10
  million clock ticks spent executing instructions per second on a 1GHz
  core).

  $ system-image-cli -i
  current build number: 272
  device name: mako
  channel: ubuntu-touch/devel-proposed/ubuntu
  last update: 2015-07-29 05:53:01
  version version: 272
  version ubuntu: 20150729
  version device: 20150708
  version custom: 20150729

  Running eventstat shows this CPU time is being used in 5 events per
  second:

   Event/s PID   Task            Init Function             Callback
     36.36     0 [swapper/0]     hrtimer_start_range_ns    tick_sched_timer
      5.05 11688 unity8          hrtimer_start_range_ns    hrtimer_wakeup

  So it sounds like QtMir's frame dropper is the culprit.

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


References