[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