[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strange memory allocation error in 2.2.11



> > I'm writing a program , which actively uses garbage collection,
> > implemented in
> > a separate library(it scans stack, heap, etc. and relies on the system,
> > when trying to determine start and end addresses of these memory areas ,
> > but doesn't contain any assembler low-level code).
> 
> Hrmm, how exactly are you extracting this information from the kernel?

 I use this piece of code , to find out the end and start of the heap
and  
 static data area ( and it doesn't use kernel info directly ):

#if defined(linux) || (defined(sparc) && ! defined(__SVR4))
#  define GC_ALIGNMENT           8   // use 8-byte alignment for our
heap
extern int etext;
extern int end;
#  define GC_DATA_START  (void*)(((unsigned long)(&etext) + 0xfff) &
~0xfff)
#  define GC_DATA_END    (void*)(&end)
#include <stdlib.h>
#include <unistd.h>
extern "C" void * sbrk(int);
#  define GC_GET_HEAP_BOTTOM sbrk(0)
#  define GC_GET_HEAP_TOP    sbrk(0)
#  define GC_CONFIGURED
#endif
> 
> > Are there any changes in MM for 2.2.11 , which require recompilation of
> > user programs?
> 
> The only changes in 2.2.11 related to mm that could cause this have to do
> with zeromapping ranges, but it should be a non-change for x86.  Also,
> allocation patterns might be slightly different now as mmap is now allows
> to wrap around once it reached the top of the address space.  Also, a bug
> in mremap was fixed.
> 
> > What other reasons can lead to such effect?
> 
> Depends on your code =)  Do you have a test program that demonstrates the
> but that we could look at?
 
 Unforunately , I've no such a small program. The GC-library is very
complex and
 the program , where I use it , is also very big. I've never had any
problems  with GC-library before 2.2.11 , though I use this library
since February.

 The latest run of the program , for example, hasn't crashed , but it
took 2.50 minutes instead of normal 10 secs. It's definetly something
with MM in 2.2.11 ...

 Roman Levenstein
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/