On Mon, 2003-08-11 at 15:40, [EMAIL PROTECTED] wrote:
diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/drm/gamma_dma.c linux-2.5/drivers/char/drm/gamma_dma.c -- bk-linus/drivers/char/drm/gamma_dma.c 2003-05-31 15:58:40.000000000 +0100 +++ linux-2.5/drivers/char/drm/gamma_dma.c 2003-05-29 14:07:46.000000000 +0100 @@ -44,9 +44,14 @@ static inline void gamma_dma_dispatch(dr drm_gamma_private_t *dev_priv = (drm_gamma_private_t *)dev->dev_private; mb(); - while ( GAMMA_READ(GAMMA_INFIFOSPACE) < 2); + while ( GAMMA_READ(GAMMA_INFIFOSPACE) < 2) + cpu_relax(); +
[...]
Are you actually using the gamma driver? :) Something like this might be useful in other drivers as well?
What exactly *is* cpu_relax? Is it available on older kernels as well? I'm not sure how useful it would be because I don't think many (any?) of the other drivers busy-wait inside the kernel. It would be worth checking, though.
------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel
