Hi,

--- Subrata Modak <[EMAIL PROTECTED]> wrote:

> > # ./hugemmap02 -H /dev/hugetlbfs
> > Segmentation fault
> > 
> > It gives warnings when compiling,
> > 
> > # make 
> > cc -I../../../../../include -g -Wall    hugemmap02.c -L../../../../../lib 
> > -lltp   -o
> hugemmap02
> > hugemmap02.c: In function ‘main’:
> > hugemmap02.c:149: warning: integer constant is too large for ‘long’ type
> > hugemmap02.c:156: warning: integer constant is too large for ‘long’ type
> > 
> > The following patch fixes it by making low memory addresses falling in a 2G 
> > - 3G range.
> > 
> > Signed-off-by: CAI Qian <[EMAIL PROTECTED]>
> 
> This is quite interesting. hugemmap02 fails for me in i386 & ppc64 both
> pre and post patching. However it passes in x86_64 both pre and post
> stages. However, as you pointed out, the patch addresses the WARNINGs
> well. So, i would like to merge this for that very reason. Meanwhile,
> when you have time, please look in to this for both i386 and ppc64
> systems. I do not have access to ia64 at this moment and no ia32 at all.
> I am hoping that it works fine in both those systems for you.
> 

No, it does not only fixes warnings, but also SIGSEGV. Did you mount a 
hugetlbfs before run the
test? If not, could you try the following,

# echo 20 > /proc/sys/vm/nr_hugepages
# cat /proc/meminfo
MemTotal:      2074492 kB
MemFree:       1575332 kB
Buffers:         40484 kB
Cached:         299800 kB
SwapCached:          0 kB
Active:         175924 kB
Inactive:       195856 kB
HighTotal:     1178624 kB
HighFree:       758980 kB
LowTotal:       895868 kB
LowFree:        816352 kB
SwapTotal:     4128760 kB
SwapFree:      4128760 kB
Dirty:               8 kB
Writeback:           0 kB
AnonPages:       31392 kB
Mapped:          10624 kB
Slab:            35512 kB
PageTables:       1324 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   5125044 kB
Committed_AS:    92792 kB
VmallocTotal:   114680 kB
VmallocUsed:      4772 kB
VmallocChunk:   109360 kB
HugePages_Total:    20
HugePages_Free:     20
HugePages_Rsvd:      0
Hugepagesize:     4096 kB
# mkdir /dev/hugetlbfs
# mount -t hugetlbfs hugetlbfs /dev/hugetlbfs
# ulimit -s unlimited
# ./hugemmap02 -H /dev/hugetlbfs

I have tested successfully on IA-32, x86_64 and PPC64. It failed on IA-64 and 
s390x, because it
seems not consider the differences of page sizes on those systems. I'll send 
separate patches for
those later.

Cai Qian

> 1) $ uname -a
> Linux 2.6.18-92.el5 #1 SMP Tue Apr 29 13:16:12 EDT 2008 i686 i686 i386
> GNU/Linux
> 
> hugemmap02 -H/tmp -I10 -c10
> ====================================================
> Pre-Patching:
> ====================================================
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/22393mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/22393mmapfile for 32-bit, errno=0 : Success
> ........................
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/22393mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> ====================================================
> Post-Patching: 
> ====================================================
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/2093mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/2093mmapfile for 32-bit, errno=0 : Success
> .....................................
> .....................................
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/2093mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/2093mmapfile for 32-bit, errno=0 : Success
> ====================================================
> 
> 
> 
> 
> 
> 2) uname -a
> Linux 2.6.27-autokern1 #1 SMP Mon Oct 20 07:31:24 UTC 2008 ppc64
> GNU/Linux
> 
> ====================================================
> Pre-Patching:
> ====================================================
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/7241mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/7241mmapfile for 32-bit, errno=0 : Success
> ................................
> ................................
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/7241mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/7241mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> ====================================================
> Post-Patching:
> ====================================================
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/11711mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/11711mmapfile for 32-bit, errno=0 : Success
> ................................
> ................................
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/11711mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/11711mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/11711mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> ====================================================
> 
> 
> 
> 
> 
> 3) uname -a
> Linux 2.6.27-autokern1 #1 SMP PREEMPT Mon Oct 20 07:30:55 UTC 2008
> x86_64 GNU/Linux
> 
> ====================================================
> Pre-Patching:
> ====================================================
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> ................................
> ................................
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> ====================================================
> Post-Patching:
> ====================================================
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> ................................
> ................................
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  PASS  :  huge mmap() correctly succeeded for 64-bit
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> ====================================================
> 
> 
> 
> 
> 4)  uname -a
> Linux 2.6.27-autokern1 #1 SMP Mon Oct 20 00:45:37 PDT 2008 i686
> GNU/Linux
> 
> ====================================================
> Pre-Patching:
> ====================================================
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> ................................
> ................................
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/27446mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  BROK  :  Unexpected signal 15 received.
> ====================================================
> Post-Patching:
> ====================================================
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/31894mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/31894mmapfile for 32-bit, errno=0 : Success
> ................................
> ................................
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/31894mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/31894mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/31894mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> on /tmp/31894mmapfile for 32-bit, errno=0 : Success
> hugemmap02    1  FAIL  :  huge mmap() unexpectedly succeeded
> 
=== message truncated ===



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to