From: "dada1" <dada1@cosmosbay.com>
To: "Andrew Morton" <akpm@osdl.org>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: How to use hugetlb for the text of a program ?
Date: Wed, 13 Aug 2003 14:42:53 +0200 [thread overview]
Message-ID: <024601c36198$6c934560$4600a8c0@edumazet> (raw)
In-Reply-To: 20030813022650.56cfa680.akpm@osdl.org
From: "Andrew Morton" <akpm@osdl.org>
> "dada1" <dada1@cosmosbay.com> wrote:
> >
> > The msync() call produces this kernel message (linux-2.6.0-test3)
> > mm/msync.c:52: bad pmd 108000e7.
>
> please post the whole test application, and the command line which was
used
> to demonstrate this failure.
My problem came from the choice of _end : it was not the last byte of the
text segment.
I changed the ldscript to define _last_byte (after .rodata, .rodata1,
.gcc_except_table) and now it's ok.
However the msync() problem stays. And a 4M mem leak happens.
Here is a sample program.
# cat msync.c
/* start of msync.c */
#include <sys/mman.h>
#include <fcntl.h>
#include <stdio.h>
#define HUGESZ 4*1024*1024 /* size of one 4M page*/
int main(int argc, char *argv[])
{
int fd ;
char *ptr ;
const char *filename ;
if (argc < 2) {
fprintf(stderr, "Usage : msync filename\n") ;
exit(1) ;
}
filename = argv[1] ;
fd = open(filename, O_RDWR | O_CREAT, 0644) ;
if (fd == -1) {perror("filename") ; return 1; }
ftruncate(fd, 0) ;
ftruncate(fd, HUGESZ) ;
ptr = mmap((char *)0x10000000, HUGESZ, PROT_READ|PROT_WRITE, MAP_SHARED, fd,
0) ;
if (ptr == (char *)-1) { perror("mmap") ; close(fd);return 2;}
msync(ptr, HUGESZ, MS_SYNC) ;
close(fd) ;
munmap(ptr, HUGESZ) ;
return 0 ;
}
/* end of msync.c */
# gcc -o msync msync.c
# ./msync /huge/testfile
mm/msync.c:52: bad pmd 114000e7
# ./msync /huge/testfile
mm/msync.c:52: bad pmd 118000e7
# ./msync /huge/testfile
mm/msync.c:52: bad pmd 11c000e7
# ./msync /huge/testfile
mmap: Cannot allocate memory
# grep HugePages /proc/meminfo
HugePages_Total: 16
HugePages_Free: 0
Thanks
Eric Dumazet
next prev parent reply other threads:[~2003-08-13 12:43 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-13 8:31 2.6.0-test3-mm2 Andrew Morton
2003-08-13 8:31 ` 2.6.0-test3-mm2 Andrew Morton
2003-08-13 9:11 ` How to use hugetlb for the text of a program ? dada1
2003-08-13 9:26 ` Andrew Morton
2003-08-13 12:42 ` dada1 [this message]
2003-08-13 9:22 ` 2.6.0-test3-mm2 hugang
2003-08-13 10:48 ` 2.6.0-test3-mm2 Andrew Morton
2003-08-13 13:02 ` 2.6.0-test3-mm2 Con Kolivas
2003-08-13 13:02 ` 2.6.0-test3-mm2 Con Kolivas
2003-08-13 13:35 ` 2.6.0-test3-mm2 Luiz Capitulino
2003-08-13 13:35 ` 2.6.0-test3-mm2 Luiz Capitulino
2003-08-13 13:36 ` 2.6.0-test3-mm2 Luiz Capitulino
2003-08-13 13:36 ` 2.6.0-test3-mm2 Luiz Capitulino
2003-08-13 14:32 ` 2.6.0-test3-mm2 Hugh Dickins
2003-08-13 14:32 ` 2.6.0-test3-mm2 Hugh Dickins
2003-08-13 16:16 ` 2.6.0-test3-mm2 Martin J. Bligh
2003-08-13 16:16 ` 2.6.0-test3-mm2 Martin J. Bligh
2003-08-13 16:18 ` 2.6.0-test3-mm2 Luiz Capitulino
2003-08-13 16:18 ` 2.6.0-test3-mm2 Luiz Capitulino
2003-08-15 19:38 ` Compile problem with CONFIG_X86_CYCLONE_TIMER 2.6.0-test3-mm2 Mike Fedyk
2003-08-15 19:38 ` Mike Fedyk
2003-08-15 20:23 ` Mike Fedyk
2003-08-15 20:23 ` Mike Fedyk
2003-08-15 20:36 ` Mike Fedyk
2003-08-15 20:36 ` Mike Fedyk
2003-08-16 20:32 ` Dave Hansen
2003-08-27 1:08 ` Compile problem with CONFIG_X86_CYCLONE_TIMER Re: 2.6.0-test4-mm1 Mike Fedyk
2003-08-27 1:08 ` Mike Fedyk
2003-08-27 4:41 ` Dave Hansen
2003-08-27 4:41 ` Dave Hansen
2003-08-27 16:00 ` Mike Fedyk
2003-08-27 16:00 ` Mike Fedyk
2003-08-27 16:15 ` Dave Hansen
2003-08-27 16:15 ` Dave Hansen
2003-08-17 20:37 ` 2.6.0-test3-mm2 Peter Osterlund
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='024601c36198$6c934560$4600a8c0@edumazet' \
--to=dada1@cosmosbay.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.