> > > I heard Virge locks really easy if you use accels at the same time as
> > > accessing the framebuffer. How do you get around this?
> > Synchronous acceleration. The Kernel blocks while the accel call runs.
> Blocks how?
It just polls the accelIdle bit and waits for it to come up while the ioctl
is still running.
On non-SMP-machines, this is safe.
> > I doublt it does so in an SMP-safe way, but actually who uses a Virge on
> > an SMP machine ? :-).
> Me!!
On SMP machines, you will have to put an explicit lock there. This needs
some support in the kernel. The IMHO best implementation would be to
unmap the framebuffer for _all_ processes while an accel is running.
However this has a serious performance impact. Another possibility would be
to influence the scheduler to make sure only one process that accesses
/dev/gfx would run during this operation.
This has also its advantages, as umapping buffers is a very expensive
operation, while the other solution maybe allows for a little less
concurrency for apps that do calculations between accesses.
CU, Andy.
--
= Andreas Beck | Email : <[EMAIL PROTECTED]> =