Re: repeated X restarts with i810 not freeing sys resources?
I am still seeing the same behavior. I presume you rebooted after installing the new module, or explicitly unloaded the old one? I guess I'll need to try this same kernel. David yes. i rebooted. btw. had to make a very small mod to your agpgart_be.c source with this kernel. PCI_DEVICE_ID_INTEL_865_GM_0 isn't defined agp.h and isn't provided by /lib/modules/2.4.20-2.21/build/include/linux/pci_ids.h (or wherever it would show up in the kernel headers?). thanks, -pat ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: repeated X restarts with i810 not freeing sys resources?
On Thursday 13 February 2003 09:03 pm, David Dawes wrote: On Thu, Feb 13, 2003 at 02:11:40PM -0700, patrick charles wrote: On Wednesday 12 February 2003 10:20 pm, David Dawes wrote: On Tue, Feb 11, 2003 at 02:51:04PM -0700, patrick charles wrote: On Saturday 08 February 2003 05:41 pm, David Dawes wrote: On Sat, Feb 08, 2003 at 01:07:25PM -0700, patrick charles wrote: How would I communicate this? Somebody on XFree86 working with or have contact with the appropriate people in kernel/agpgart development? First of all, how are you killing the X server? I haven't seen this behaviour when the X server exits normally, and I've done a lot of testing where 32MB is allocated per run on machines with only 128MB of physical memory. There are people here familiar with the kernel agpgart driver. Note that just because top shows that there's little memory free doesn't mean that the agpgart driver isn't freeing it. Also the agpgart driver allocates physical pages, never swap. I'm not sure what the symptoms are when it can't get any free physical pages. On my test system the free memory indicated by top does go up when the X server exits, and this is on an otherwise idle system. So, I'd suggest starting a bare X server (run just 'X') on an otherwise idle system, see what top reports, then exit it cleanly (CtrlAltBackspace), and see if the free memory amount changes. Check the X server log to confirm how much memory was allocated via the agpgart mechanism (look for the lines containing Allocated). If that looks OK, then try the same thing you tried before but with a bare X server and an idle system. David David, I ran some tests as you suggested. I started up a bare X server using the command 'X' on an idle system. I then exited cleanly using ctrl-alt-bak. I recorded the amount of physical RAM free before and after the X start. I repeated this process. After 13 iterations, the machine became very sluggish. After 16 iterations, the machine hung. Still looks like X (or, the agpgart driver?) is not freeing resources. The machine gradually ran out of physical RAM. I just tried repeating this with what I think should be an even more demanding configuration: 845G system with 128MB physical memory, 1MB stolen memory (preallocated video memory), X configured to use 32MB video memory, so just over 31MB of physical memory needs to be allocated at each server start. After several iterations, I got to a pattern where the free memory after the server starts is 2MB, and the free memory when it exits is 41MB. I went as far as 25 iterations without any change in this pattern and without any slowdown. This is with RH 7.3, using the default kernel plus an agpgart driver patched for correct 845G support. The 2.4.20 kernel should already have the correct 845G agpgart support. The source for the agpgart driver I'm using can be found at http://www.xfree86.org/~dawes/intel-85x/agpgart-85x.tar.gz, in case that makes a difference. David Ok. To simplify my environment, I did a fresh install of Red Hat 8.0. I then installed kernel 2.4.20-2.21 and XFree86-4.2.99.3-20030115, taken as RPM's from the RH81 'phoebe' beta, required for the i845 support. So, I now have a 'clean' setup which doesn't contain any of the pieces which I previously downloaded/built from various cvs repositories. On this machine (which has quite a few services running since it is a default 8.0 workstation-type install), it only takes 6 restart iterations of X before the system hangs. I (unfortunately) have 4 of these brand new GX60 machines. I see the exact same behavior on all of them. Therefore, I don't think the problem is specific to a particular system. By using the RH RPM's, also doesn't appear that the problem stems from something peculiar in my build environment. You tried on an i845G and can't reproduce, but you are using RH7.3? Yep, RH7.3 with its default kernel plus the agpgart driver referenced above. Could you try your setup using that agpgart driver? That might help narrow down if the problem lies there or elsewhere. I don't see how the problem could be anywhere other than the kernel or agpgart driver. David i replaced agpgart.o with one recompiled from agpgart-85x.tar.gz % uname -a Linux localhost.localdomain 2.4.20-2.21 #1 Wed Jan 15 20:31:35 EST 2003 i686 i686 i386 GNU/Linux % ls -l /lib/modules/2.4.20-2.21/kernel/drivers/char/agp -rw-r--r--1 root root64920 Feb 14 12:21 agpgart.o -rw-r--r--1 root root23738 Jan 15 18:38 agpgart.o.gz.bak I am still seeing the same behavior. thanks, -pat ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: repeated X restarts with i810 not freeing sys resources?
On Saturday 08 February 2003 05:41 pm, David Dawes wrote: On Sat, Feb 08, 2003 at 01:07:25PM -0700, patrick charles wrote: How would I communicate this? Somebody on XFree86 working with or have contact with the appropriate people in kernel/agpgart development? First of all, how are you killing the X server? I haven't seen this behaviour when the X server exits normally, and I've done a lot of testing where 32MB is allocated per run on machines with only 128MB of physical memory. There are people here familiar with the kernel agpgart driver. Note that just because top shows that there's little memory free doesn't mean that the agpgart driver isn't freeing it. Also the agpgart driver allocates physical pages, never swap. I'm not sure what the symptoms are when it can't get any free physical pages. On my test system the free memory indicated by top does go up when the X server exits, and this is on an otherwise idle system. So, I'd suggest starting a bare X server (run just 'X') on an otherwise idle system, see what top reports, then exit it cleanly (CtrlAltBackspace), and see if the free memory amount changes. Check the X server log to confirm how much memory was allocated via the agpgart mechanism (look for the lines containing Allocated). If that looks OK, then try the same thing you tried before but with a bare X server and an idle system. David David, I ran some tests as you suggested. I started up a bare X server using the command 'X' on an idle system. I then exited cleanly using ctrl-alt-bak. I recorded the amount of physical RAM free before and after the X start. I repeated this process. After 13 iterations, the machine became very sluggish. After 16 iterations, the machine hung. Still looks like X (or, the agpgart driver?) is not freeing resources. The machine gradually ran out of physical RAM. Let me know if I can provide any more information, XFree86 logs, or? Details attached. thanks, -pat [ 0] after fresh boot w/ no X running: 84,516K free [ 1] after running 'X': 56,472K free [ 1] after ctrl-alt-bak: 68,796K free [ 2] after running 'X': 48,104K free [ 2] after ctrl-alt-bak: 60,656K free [ 3] after running 'X': 40,716K free [ 3] after ctrl-alt-bak: 53,272K free [ 4] after running 'X': 33,228K free [ 4] after ctrl-alt-bak: 45,784K free [ 5] after running 'X': 25,888K free [ 5] after ctrl-alt-bak: 38,472K free [ 6] after running 'X': 18,572K free [ 6] after ctrl-alt-bak: 31,116K free [ 7] after running 'X': 11,372K free [ 7] after ctrl-alt-bak: 23,672K free [ 8] after running 'X': 4,096K free [ 8] after ctrl-alt-bak: 16,344K free [ 9] after running 'X': 1,060K free [ 9] after ctrl-alt-bak: 13,856K free [10] after running 'X': 1,180K free [10] after ctrl-alt-bak: 13,640K free [11] after running 'X': 952K free [11] after ctrl-alt-bak: 13,400K free [12] after running 'X': 984K free [12] after ctrl-alt-bak: 13,400K free [13] after running 'X': 948K free [13] after ctrl-alt-bak: 13,400K free [14] after running 'X': 948K free [14] after ctrl-alt-bak: 10,000K free [15] after running 'X': 944K free [15] after ctrl-alt-bak: 5,704K free [16] after running 'X': [machine hung] [16] After iteration #9, the machine started showing disk swap in use: [ 9]436K swap used [10]636K swap used [11] 1,088K swap used [12] 4,532K swap used [13] 8,444K swap used [14] 12,088K swap used [15] 12,492K swap used After iteration #13, the machine starts to behave sluggishly, both at the command-line and when painting/moving the cross-hair cursor on the bare X desktop. Presumably because components of the core o/s are being swapped in and out of RAM? After 16 iterations, X hung on startup, the cross-hair cursor didn't appear. All your base are belong to us. I couldn't stop X and got no response when trying to remotely ssh to the machine. System is a Dell GX60 with integrated intel extreme graphics XFree86 Version 4.2.99.901 (4.3.0 RC 1) Driver is i810 Kernel is 2.4.20-2.36 ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
repeated X restarts with i810 not freeing sys resources?
I'm running XFree86-4.2.99.901 on a 2.4.20-2.34 kernel on a Dell GX60 with intel extreme graphics (i810 driver). If I repeatedly kill and restart X, the system eventually slows to a crawl before hanging. Here's what seems to be going on... If I run top on the machine and observe the amount of memory in use, it appears that each time I kill and restart X, an additional ~16MB of RAM is consumed. This particular system has 128MB RAM, so the system lock up seems to correspond to the consumption of all physical RAM. (kernel + base system + ~16MB fb x 15 restarts = ~128MB RAM). Apparently, after many restarts, the X server eventually tries to grab a block of RAM to serve as the video buffer, and gets a chunk of swap. When that happens, the system is hosed, presumably because disk swap is orders of magnitude too slow for video operations. I'm guessing, but this seems to be what's going on. This is consistent with the fact that I don't see any daemons or system processes consuming any significant amounts of memory yet top eventually shows all physical RAM consumed. Consistent with the approximate number of restarts, and consistent with the fact that the integrated i810 design uses system RAM for the framebuffer contents. Is it possible that the kernel, drm or X isn't freeing the framebuffer RAM after each restart or kill of X? Since my last email, I've tried a newer version of the kernel and X, and still see the same behavior with 2.4.20-2.34 and XFree86-4.2.99.9. System is running RH8 with rawhide binaries. Appreciate any suggestions or comments anyone has. thanks, -pat ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel