Re: accel handling

James Simmons
1999-08-30T14:50:11Z

> The only way to do it is to flip page tables while the accel engine is
> running. You may want to restore it on demand by trapping the page
> fault on the framebuffer and stalling until the accel lock is released.
> This can be done, but it is really expensive: you are doing a whole pile
> of messy VM operations every time you want to trigger the accel engine
> (any idea how often you want to flip the protection, btw?)
>

The way the accel engine will work is that it will batch accel commands.
Then when full flush them to the accel engine. So we can batch a hugh
number of commands to avoid the expensive process of flipping page tables.
Of course the buffer is of variable size. The size determined by how many
accel commands you want to send to the engine to display a frame. So a
complex scene would be worth it.

> So you are talking several system calls, SMP inter-processor interrupts
> and piles of VM page twiddling every time you want to claim and release
> the core engine. Sorry, folks, but there's no way of avoiding the
> conclusion that this is going to be expensive. In the single-CPU or
> single-thread case the cost can be kept under control, but it is not
> going to be cheap.

The secert is to do a as few times possible.