* Re: mmap() failed on Linux 2.4.18-10smp with 4GB RAM
@ 2002-09-25 17:50 Lingli Zhang
0 siblings, 0 replies; 3+ messages in thread
From: Lingli Zhang @ 2002-09-25 17:50 UTC (permalink / raw)
To: linux-kernel
Hi,
Thanks a lot to those who replied to me. Big help!
Now my question is how do I know where linux puts kernel in the memory?
What address is safe to mmap a big chunk?Is there a way to force it to be a
specific address?
Best Regards!
Lingli
--
Lingli Zhang
lingli_z@umail.ucsb.edu
^ permalink raw reply [flat|nested] 3+ messages in thread
* mmap() failed on Linux 2.4.18-10smp with 4GB RAM
@ 2002-09-25 4:59 Lingli Zhang
2002-09-25 6:18 ` Steffen Persvold
0 siblings, 1 reply; 3+ messages in thread
From: Lingli Zhang @ 2002-09-25 4:59 UTC (permalink / raw)
To: linux-kernel
Hi there,
My machine is a 2-Processor Pentium 4 (Xeon) 2.4GHz e7500 Chipset with 4GB RAM.
I installed Redhat (kernel: Linux 2.4.18-10bigmem) on it.
But when I run following piece of code:
========================================
#include <unistd.h>
#include <sys/mman.h>
int main(){
mmap ((void *) 1090519040, 17000000,
PROT_READ | PROT_WRITE | PROT_EXEC,
MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED, -1, 0);
}
===========================================
It gives out "segmentation fault". It works well if I change 17000000
to 16000000.
I have tried Linux 2.4.18-10smp kernel, same problem.
Is there anyone have any idea what's going on here? Or do you have any
recommendation that which version of Linux I should use for my machine to work
around this problem?
Thanks a lot!
Lingli
--
Lingli Zhang
lingli_z@umail.ucsb.edu
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: mmap() failed on Linux 2.4.18-10smp with 4GB RAM
2002-09-25 4:59 Lingli Zhang
@ 2002-09-25 6:18 ` Steffen Persvold
0 siblings, 0 replies; 3+ messages in thread
From: Steffen Persvold @ 2002-09-25 6:18 UTC (permalink / raw)
To: Lingli Zhang; +Cc: linux-kernel
On Tue, 24 Sep 2002, Lingli Zhang wrote:
> Hi there,
>
> My machine is a 2-Processor Pentium 4 (Xeon) 2.4GHz e7500 Chipset with 4GB RAM.
> I installed Redhat (kernel: Linux 2.4.18-10bigmem) on it.
>
> But when I run following piece of code:
> ========================================
> #include <unistd.h>
> #include <sys/mman.h>
> int main(){
> mmap ((void *) 1090519040, 17000000,
> PROT_READ | PROT_WRITE | PROT_EXEC,
> MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED, -1, 0);
> }
> ===========================================
> It gives out "segmentation fault". It works well if I change 17000000
> to 16000000.
>
> I have tried Linux 2.4.18-10smp kernel, same problem.
>
> Is there anyone have any idea what's going on here? Or do you have any
> recommendation that which version of Linux I should use for my machine to work
> around this problem?
>
Well, the problem is that you are forcing the mmap to create a virtual map
starting at 0x41000000 and with 17000000 bytes that map is ending at
0x42036640, which is right in the middle of where glibc gets mapped :
# cat /proc/2441/maps
08048000-08049000 r-xp 00000000 00:0c 163922 /home/sp/a.out
08049000-0804a000 rw-p 00000000 00:0c 163922 /home/sp/a.out
40000000-40013000 r-xp 00000000 08:02 416894 /lib/ld-2.2.5.so
40013000-40014000 rw-p 00013000 08:02 416894 /lib/ld-2.2.5.so
40014000-40015000 rw-p 00000000 00:00 0
40022000-40023000 rw-p 00000000 00:00 0
42000000-4212c000 r-xp 00000000 08:02 448959 /lib/i686/libc-2.2.5.so
4212c000-42131000 rw-p 0012c000 08:02 448959 /lib/i686/libc-2.2.5.so
42131000-42135000 rw-p 00000000 00:00 0
bfffe000-c0000000 rwxp fffff000 00:00 0
If you absolutely want to use this fixed address for your mmap, link your
application statically, or maybe there's a way to tell the dynamic linker
to put the libraries elsewhere ?
Regards,
--
Steffen Persvold | Scali AS
mailto:sp@scali.com | http://www.scali.com
Tel: (+47) 2262 8950 | Olaf Helsets vei 6
Fax: (+47) 2262 8951 | N0621 Oslo, NORWAY
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-09-25 17:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-25 17:50 mmap() failed on Linux 2.4.18-10smp with 4GB RAM Lingli Zhang
-- strict thread matches above, loose matches on Subject: below --
2002-09-25 4:59 Lingli Zhang
2002-09-25 6:18 ` Steffen Persvold
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).