[prev in list] [next in list] [prev in thread] [next in thread] 

List:       amarok-bugs-dist
Subject:    [Bug 144827] New: amarok high interrupt usage while idle (linux
From:       Thomas Meyer <thomas.mey () web ! de>
Date:       2007-04-29 13:32:27
Message-ID: 20070429153226.144827.thomas.mey () web ! de
[Download RAW message or body]

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=144827         
           Summary: amarok high interrupt usage while idle (linux 2.6.21
                    dynticks)
           Product: amarok
           Version: 1.4.5
          Platform: Gentoo Packages
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: amarok-bugs-dist kde org
        ReportedBy: thomas.mey web de


Version:           1.4.5 (using KDE KDE 3.5.6)
Installed from:    Gentoo Packages
Compiler:          gcc-4.1.2 
OS:                Linux

Amarok has a high timer interrupt usage while idle, i.e. playing no songs.

vmstat 1 (without amarok):
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0      0 475524  37068 319388    0    0   144    18   65  541 10  1 82  6
 0  0      0 475564  37068 319388    0    0     0     0   79  211  5  1 95  0
 0  0      0 475564  37068 319388    0    0     0     0   35  100  4  0 96  0
 0  0      0 475572  37068 319388    0    0     0     0   76  176  4  0 96  0
 0  0      0 475572  37076 319380    0    0     0    16   43  151  4  0 92  4
 0  0      0 475624  37076 319380    0    0     0     0   74  165  4  0 96  0
 1  0      0 475624  37080 319376    0    0     0     7   53  147  4  0 96  0
 1  0      0 475624  37080 319392    0    0     0     0  229  507  5  0 95  0
 1  0      0 475624  37080 319392    0    0     0     0   41  101  4  0 96  0
 1  0      0 475672  37080 319392    0    0     0    48   87  198  4  0 96  0
 0  0      0 475672  37080 319392    0    0     0     0   43 2091  4  0 96  0
 2  0      0 475672  37080 319392    0    0     0     0   79  210  3  0 97  0
 0  0      0 475672  37080 319392    0    0     0     0   39  106  5  0 95  0
 0  0      0 475720  37080 319392    0    0     0     0   79  242  4  0 97  0
interrupt rate stays (mostly) below 80 interrupts per seconds

vmstat 1 (with amarok running):
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 3  0      0 460752  37260 319580    0    0   141    19   64  537 10  1 82  6
 0  0      0 460752  37260 319580    0    0     0     0  191  882  5  0 95  0
 0  0      0 460688  37260 319580    0    0     0     0  135  763  5  1 95  0
 0  0      0 460076  37272 319568    0    0     0   824  187  826  4  2 90  4
 0  0      0 460092  37272 319580    0    0     0     0  132  747  5  0 95  0
 1  0      0 460092  37272 319580    0    0     0     0  165  825  5  0 95  0
 0  0      0 460152  37272 319580    0    0     0     3  132  734  5  0 95  0
 0  0      0 460152  37272 319580    0    0     0     0  187 2610  5  0 96  0
 0  0      0 460152  37272 319580    0    0     0     0  132  774  5  0 95  0
 0  0      0 460152  37272 319580    0    0     0     0  148  828  5  0 95  0
 0  0      0 460300  37272 319580    0    0     0     0  128  738  5  0 95  0
 1  0      0 460300  37272 319580    0    0     0     0  167  831  4  0 95  0
 0  0      0 460308  37280 319580    0    0     0    39  136 2740  5  0 92  4
 1  0      0 460308  37280 319580    0    0     0     0  441 1435  5  1 94  0
 0  0      0 460344  37280 319580    0    0     0     0  127  752  5  0 95  0
 1  0      0 460344  37280 319580    0    0     0     0  146  821  4  0 95  0
 2  0      0 460344  37280 319580    0    0     0     0  118  751  5  0 96  0
 2  0      0 460344  37280 319580    0    0     0     0  134  782  5  0 95  0
interrupt rate stays (mostly) *above* 110 interrupts per seconds

This seems to be because of this while(1) loop in amarok/src/engine/helix/hxplayercontrol.cpp:
[cut]
      while ( 1 )
      {
         FD_SET(rfd, &rdset);

         n = select(rfd + 1, &rdset, 0, 0, &timeout);
         if ( FD_ISSET(rfd, &rdset) )
         {
            msgid m;
            unsigned char buf[65536];
            int sz = 0;

            if (getmessage(rfd, m, buf, sz) && player)
            {
               switch (m)
               {
                  case INIT:
                     cerr << "INIT\n";
                     if (!sz)
[and so on...]

The select() function seems to be the timer interrupt offender. Am i correct here?

Any ideas how to fix this?
_______________________________________________
Amarok-bugs-dist mailing list
Amarok-bugs-dist@kde.org
https://mail.kde.org/mailman/listinfo/amarok-bugs-dist
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic