vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| On Mon, Jul 30, 2007 at 08:50:22PM +0200, Mark Kettenis wrote: > If I leave X and start it again, things appear to be normal again, > although I get a new warning in /var/log/Xorg.0.log > > (WW) xf86AcquireGART: AGPIOC_ACQUIRE failed (Device busy) > ok, i've seen this. something is wrong here and i will try to make an updated diff. by some reason it is not releasing some agp memory. > Here is a diff between the logfile created during the first time I > started X and the second. I also attached the logfile for the X > session that showed the problem. > > I'm fairly sure I didn't see any problems with only the kernel diff > applied. Let me know if you need more information. > > Mark > to understand it right - you don't have any problems when running the patched kernel but when you run the patched i810 xenocara driver? what happens when you run an unpatched kernel with the patched xenocara driver? does the AGPIOC_ACQUIRE error msg appear? > > --- /var/log/Xorg.0.log.old Mon Jul 30 20:26:22 2007 > +++ /var/log/Xorg.0.log Mon Jul 30 20:32:14 2007 > @@ -1,5 +1,6 @@ > (--) checkDevMem: using aperture driver /dev/xf86 > (--) Using wscons driver on /dev/ttyC4 in pcvt compatibility mode (version 3.32) > +(WW) xf86AcquireGART: AGPIOC_ACQUIRE failed (Device busy) > so if you run the attached prog after each run of X, the number of used pages will increase, right? reyk ---snip--- --- /dev/null Wed Aug 1 10:55:54 2007 +++ agpinfo.c Wed Aug 1 10:51:36 2007 @@ -0,0 +1,41 @@ +#include <sys/types.h> +#include <sys/agpio.h> +#include <sys/ioctl.h> + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <fcntl.h> +#include <err.h> + +int s; + +void +agp_getinfo(agp_info *agp) +{ + bzero(agp, sizeof(agp)); + if (ioctl(s, AGPIOC_INFO, agp) == -1) + err(1, "failed to get agp info"); + + printf("bridge id 0x%08x, agp mode 0x%08x\n" + "aperture base 0x%08x, aperture size %d\n" + "max pages total %d, max pages system %d, used pages %d\n", + agp->bridge_id, agp->agp_mode, + agp->aper_base, agp->aper_size, + agp->pg_total, agp->pg_system, agp->pg_used); +} + +int +main(void) +{ + agp_info agp; + + s = open("/dev/ttyC0", O_RDWR); + if (s == -1) + err(1, "failed to open the console"); + + agp_getinfo(&agp); + close(s); + + return (0); +} |