Re: accel handling

Stephen C. Tweedie
1999-08-30T20:36:09Z

Hi,

On 30 Aug 1999 13:51:41 -0500, ebiederm+eric@ccr.net (Eric W. Biederman)
said:

> A) Assuming we are doing intensive drawing whatever we are doing with
> the accellerator needs to happen about 30 times per second. That
> begins the aproximate limit on humans seeing updates.

> B) At 30hz we can do some slightly expensive things.
> To a comuputer there is all kinds of time in there.

Sure, *if* you can get away with activating the accel queue just once
per cycle. Who gets woken up when accel is done, btw? How do we
restore fb access?

> C) We could simply put all processes that have the frame buffer
> mapped to sleep during the interval that the accel enginge runs.

Ouch. Think about games --- performance is the most important thing for
them, and they want all the CPU they can get. They most certainly do
NOT want to be stalled just because the framebuffer is out of bounds:
there may be other useful things they could be calculating in the mean
time.

> D) We could keep a copy of the frame buffer (possibly in other video
> memory) and copy the ``frame buffer'' over, (with memcpy in the kernel, or with an
> accel command).
> At 1600x1280x32 x30hz that is about 220 MB/s. Is that a figure achieveable in the
> real world?

Not even close. At least, not without consuming 100% cpu and bus bandwidth.

> E) Nowhere does it make sense to simultaneously access the accelerator
> and frame buffer simultaneously. ( At least the same regions of the frame buffer).
> Because the end result on the screen would be unpredicatable.
> Therefore it whatever we use for locks ought to be reasonable.

That's a user space issue. If you have full framebuffer access and you
mess up the screen, it's your fault, no big deal. If you crash the
machine, that's an entirely different matter.

--Stephen