Gentoo Archives: gentoo-user

From: Glenn Enright <elinar@×××××××.nz>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] aRts sound server on KDE 3.5.2?
Date: Wed, 19 Apr 2006 20:49:28
Message-Id: 200604200645.47282.elinar@ihug.co.nz
In Reply to: [gentoo-user] aRts sound server on KDE 3.5.2? by "Michael B. Trausch"
1 On Thursday 20 April 2006 8:12 am, Michael B. Trausch wrote:
2 I got this all the time with ac97 chipset with older versions of arts. Maybee
3 you are running a similar chipset? or an old driver or something? what kernel
4 version do you run?
5
6 From google with search on 'arts cpu overload'
7 http://www.arts-project.org/doc/handbook/faq.html#id2805932
8 >
9 >13.3 What is wrong in the driver if I get the cpu overload problem?
10 >
11 >Usually, artsd uses select() to find out when to write new data. Then, it
12 >uses an ioctl(...GETOSPACE...) to find out how much data to write. Finally,
13 >it writes this data.
14 >
15 >A problem occurs if artsd is woken up either always or if there are minimal
16 >amounts of data to write. The OSS documentation specifies that select() only
17 >wakes up a process if there is at least one fragment to write. However, if
18 >artsd is woken up if there isn't data to write, or very little, for instance
19 >one sample, then it will keep writing little pieces of audio data, which can
20 >be very costly, and eventually overload the cpu.
21 >
22 >To fix this, the driver should wake up artsd only if there is a full fragment
23 >to write.
24 >
25
26 That page is a little old but it sould give you an idea of where to start.
27 --
28 It's not easy, being green.
29 -- Kermit the Frog