Dear co-developers!

So, I did a deep research and found out the following:
- it doesn't happen inside kernel, because "top" shows the load as "user", not
  as "system"
- I am able to determine where it happens, but not why :-(

in r128_video.c, there is a short function called R128CopyData422, containing
rougly

if (!dmacopyworx) {
        memcpy the sucker
}

Ok, here comes the funny part. If I put a 

usleep (1);

BEFORE the "if", X load sinks by about 20% during video playing, BOTH when
using dri (25->5) or not using DRI (50->30)

When I put it AFTER the if, the load doesn't change (25 with dri, 50 without).

I also tried rewriting the R128PutImage so that every second call is returned
without doing anthing, this sank the X load dramatically as well, but I think
this was expected anyway.

Now gurus, show what you can :-)

Mit freundlichen Grüßen

Peter Surda (Shurdeek) <[EMAIL PROTECTED]>, ICQ 10236103, +436505122023

--
       My mind is like a steel trap - rusty and illegal in 37 states.

Attachment: msg02977/pgp00000.pgp
Description: PGP signature

Reply via email to