32bit app memlimit on x86_64?

Ryan Sweet <[email protected]> Mon, 3 Nov 2003 13:17:34 +0100 (MET)
Newsgroups gmane.linux.redhat.taroon
Message-ID <Pine.LNX.4.44.0311031236120.7253-100000@core-0>
What is the limit on contiguous memory available to 32bit apps using the 
release kernel and glibc on an opteron?

I have a commercial 32bit app that fails alloatiing more than 800MB of 
RAM.  The vendor referred me to this patch: 
http://www.daimi.au.dk/~kasperd/linux_kernel/task_unmapped_base/
but I am wondering why it is necessary on the opteron.  

I've looked at linux-2.4.21-4.EL/include/asm-x86_64/processor.h:
/*
 * User space process size: 512GB - 1GB (default).
 */
#define TASK_SIZE       (0x0000007fc0000000)
 
/*
 *  32 bit user space process size - determined by personality
 */
#define IA32_PAGE_OFFSET ((current->personality & ADDR_LIMIT_3GB) ? 0xc0000000 : 0xFFFFe000)
#define TASK_SIZE_32    IA32_PAGE_OFFSET
 
/* This decides where the kernel will search for a free chunk of vm
 * space during mmap's.
 */
#define TASK_UNMAPPED_32 0xa0000000
#define TASK_UNMAPPED_64 (TASK_SIZE/3)
#define TASK_UNMAPPED_BASE      \
        ((current->thread.flags & THREAD_IA32) ? TASK_UNMAPPED_32 : TASK_UNMAPPED_64)
 
but I don't yet understand how the personality structures work nor do I 
really understand where the #define TASK_UNMAPPED_32 0xa0000000 limit will 
fall.

any pointers for a better understand of this issue would be 
greatly appreciated.
thanks,
-ryan
-- 
Ryan Sweet <[email protected]>
Atos Origin Engineering Services
http://www.aoes.nl


--
Taroon-beta-list mailing list
[email protected]
http://www.redhat.com/mailman/listinfo/taroon-beta-list