On Sun, Jun 02, 2002 at 06:14:08PM +0100, Michael wrote:
> > I'll happily test any patches, just send them my way.
> 
> Ok, I'll post something later...

hmm, further playing around, I changed the CPWaitForIdle to use the
non-CP WaitForIdle so the looping in X is in user space not system,
removed the wait_for_fifo and a couple of FLUSHes that I can't see are
necessary(and don't have any adverse affect afaict).

If anything it just appears to hide the fundamental problem by reducing
the amount of spinning - wait_for_fifo seems redundant as does the
EnterServer NeedToSync, but given the number of times it syncs, its
probably not significant and there might be a case where it does matter 

afaict the flag is set in xaa/... whenever direct fb access is done and
probably in some places where it doesn't need to be set because the
radeon driver accel functions are using the ring.

The biggest problem I'm seeing is massive system cpu time for certain 3d
apps when they are hidden effectively grinding the system to a halt
perhaps we should detect the hidden state or simply move these spins to
user space where the schedular and nice, or possibly even make the spins
into a wait queue as I mentioned before - does the new interrupt code
allow you to fire an interrupt on frame completion or idle states? 

That's compounded to some extent by massive X time spinning waiting for
idle, but most of that disappears if X runs at high priority and if the
3d app is not hidden.

It looks like there are plenty looking at this now, so I'll leave it and
probably do some more of the new .S file for the codegen stuff.

-- 
Michael.



_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to