Re: The MAX high_addr for `mmap` on PPC64

From
madper <hidden>
Date
2012-08-29 03:57:18
Reply to
David Gibson, 2012-08-29
On Wed, 29 Aug 2012 11:42:58 +0800, David Gibson [off-list ref] wrote:
On Wed, Aug 29, 2012 at 11:34:08AM +0800, madper wrote:
quoted
Hi every one,
    I use the ltp (Linux-Test-Project) and run it on both ppc64 and x86_64.
    There is a code like follows in
`ltp/testcase/kernel/mem/hugetbl/hugemmap/hugemmap03.c`:
`code`
        #define HIGH_ADDR       (void *)(0x1000000000000)
	/* Attempt to mmap into highmem addr, should get ENOMEM */
	addr = mmap(HIGH_ADDR, map_sz, PROT_READ,
	            MAP_SHARED | MAP_FIXED, fildes, 0);
`code ends`
    It return ENOMEM on x86_64 as well as we expected. But return
EINVAL on ppc64. So I want to know the MAX high addr for PPC64.
That's a pretty bogus test, since the max address is not specified
strictly.  It's currently 4T on ppc64, but patches that are in the
works will change it to 16T.
Hi, I tested it for rhel6. Also I change the high_addr to `0x7ffffffffff` but it got EINVAL again.
So, I nearly certain that rhel6 can only support for 4T.
So, do you think that I should change the high_addr to `0x3ffffffffff`?
Also I'm not convinced that "highmem addr" has any meaning in the
context of userspace addresses.
I think may be the coder want to test kernel by userspace program?    :-(


Thank you very very much, David.

--
Thanks,
Madper Xie.
Thread (4 messages) 4 messages, 2 authors, last reply 2012-08-29
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help