Hi!

> Some oddities w/kapmd(2.4.0)...  If I sit in X and do nothing other than run top or
> "vmstat 5", I get down to as low as 60% idle and 40% in system -- with kapmd getting
> 'charged' for the 40%.

At least you can see how kapmd mechanism actually works.

> Then I go and run 'freeamp' and the CPU usage goes to 100% idle, presumably because
> kapmd never gets called because it's never in the idle loop for longer than 333ms.
> 
> It's just weird and unnatural.
> 
> Also forgive my ignorance but is it really possible playing VBR MP3's takes 0 
>measurable
> CPU?  I've run the program for hours and a ps of 'freeamp' show either no measured 
>cpu 
> time or maybe 1 second...the kernel runs at at 100% idle for most of the time.
> I thought mp3 decompression was a cpu intensive
> operation....weird...

Those counters are running. Try this one:

/*
 * This is simple program which should show weak spots in linux's scheduler
 */

#include <stdio.h>
#include <time.h>
#include <sys/timeb.h>
#include <unistd.h>

int startgame;

int
ticks( void )
{
struct timeb tb;
int sec, msec;
ftime( &tb );
sec = tb.time - startgame;
msec = tb.millitm;
return sec * 1000 + msec;
}

void
main( int argc, char *argv[] )
{
int delta, badboy = 0, count = 1000000;
int t1, t2;

startgame = time(NULL);
if (argc>1) { 
  badboy = 1; 
  printf( "I'm a *BAD* boy! " );
  usleep( 100000 );
  t1 = ticks();
  usleep( 100000 );
  t2 = ticks();
  delta = t2-t1;
  printf( "And bad boys know that jiffie is %dmsec\n", delta );
  delta = 10;
  }
else { printf( "I'm a good boy.\n" ); delta = 20; }
while(1) {
  if ((ticks()-t1) % delta > ((delta * 17)/20))
    if (badboy)
      usleep(10000);
  if (!((--count)%100000)) { printf( "." ); fflush( stdout ); }
  if (!count) break;
  }
}

it used to work. Bad boy used to be charged 0% cpu even if it ate 70%

> I guess I'm thinking -- maybe time in kapmd should be counted as 'idle'?

-- 
I'm [EMAIL PROTECTED] "In my country we have almost anarchy and I don't care."
Panos Katsaloulis describing me w.r.t. patents at [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to