Patch to avoid calling gettimeofday while busy-waiting (I830WaitLpRing)

Wang Zhenyu at
Tue Jul 10 19:35:54 PDT 2007

On 2007.07.10 18:22:32 +0000, Carl Worth wrote:
> I noticed that I830WaitLpRing is making a system call to gettimeofday
> while otherwise busy waiting.
> Here's a patch to reduce that significantly, (calling gettimeofday
> only every 4096 iterations). It doesn't actually improve performance
> much as it primarily just makes the driver busy-wait faster. And all
> the waiting appears to be due to the way the driver is written to
> re-use the same in-video-memory state buffer for every composite
> operation, (so no more than one can be in flight at a time).

It should affect render accel on 915/945G, that heavily uses ring
buffer for command submit, but on 965G ring buffer usage is mostly
fixed size. I think this is a main problem on 915/945G rendering with
current poor sync method, I was trying to use drm fence interfaces
to use 'sync flush' mechanism in i915 drm code, but hadn't worked
out the code yet, and not sure how much it can help.

Thanks Carl, I'll try your patch.

> I've put a lot more details on this and related issues here:
> I'd greatly appreciate any feedback or suggestions for improving
> things.

More information about the xorg mailing list