Return-Path: Received: from mbligh ([unix socket]) (authenticated user=mbligh bits=0) by mbligh (Cyrus v2.1.16-IPv6-Debian-2.1.16-4) with LMTP; Tue, 06 Apr 2004 23:55:48 -0700 X-Sieve: CMU Sieve 2.2 Return-Path: X-Original-To: mbligh@localhost Delivered-To: mbligh@localhost.beaverton.ibm.com Received: from imap.linux.ibm.com (localhost [127.0.0.1]) by mbligh.beaverton.ibm.com (Postfix) with ESMTP id 68EEBF3204 for ; Tue, 6 Apr 2004 23:55:45 -0700 (PDT) Received: from psmtp.com (exprod5mx4.postini.com [12.158.34.144]) by obsidian.spiritone.com (8.12.10/8.12.8) with SMTP id i353R74E032141 for ; Sun, 4 Apr 2004 20:27:08 -0700 Delivered-To: Received: from source ([203.10.76.45]) by exprod5mx4.postini.com ([12.158.34.245]) with SMTP; Sun, 04 Apr 2004 20:26:33 PDT Received: by ozlabs.org (Postfix, from userid 1010) id 8194A2BD7B; Mon, 5 Apr 2004 13:26:31 +1000 (EST) Date: Mon, 5 Apr 2004 13:24:19 +1000 From: Anton Blanchard To: olh@suse.de Cc: mbligh@aracnet.com, agl@us.ibm.com, markv@us.ibm.com, benh@kernel.crashing.org, paulus@samba.org, david@gibson.dropbear.id.au Subject: configurable TASK_UNMAPPED_BASE for ppc64 Message-ID: <20040405032419.GA26474@krispykreme> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="LQksG6bCIzRHxTLp" Content-Disposition: inline User-Agent: Mutt/1.5.5.1+cvs20040105i X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on mbligh.beaverton.ibm.com X-Spam-Level: X-Spam-Status: No, hits=0.3 required=5.0 tests=UPPERCASE_25_50 autolearn=no version=2.63 Hi, Here are the ppc64 bits to support a configurable TASK_UNMAPPED_BASE as in SLES9. It only operates on 32bit tasks (same as x86-64). It will be required to allow us to allocate the maximum amount of largepage. Also attached is the complete patch, fixed to apply to mainline. Anton Return-Path: Received: from mbligh ([unix socket]) (authenticated user=mbligh bits=0) by mbligh (Cyrus v2.1.16-IPv6-Debian-2.1.16-4) with LMTP; Tue, 06 Apr 2004 23:55:48 -0700 X-Sieve: CMU Sieve 2.2 Return-Path: X-Original-To: mbligh@localhost Delivered-To: mbligh@localhost.beaverton.ibm.com Received: from imap.linux.ibm.com (localhost [127.0.0.1]) by mbligh.beaverton.ibm.com (Postfix) with ESMTP id 68EEBF3204 for ; Tue, 6 Apr 2004 23:55:45 -0700 (PDT) Received: from psmtp.com (exprod5mx4.postini.com [12.158.34.144]) by obsidian.spiritone.com (8.12.10/8.12.8) with SMTP id i353R74E032141 for ; Sun, 4 Apr 2004 20:27:08 -0700 Delivered-To: Received: from source ([203.10.76.45]) by exprod5mx4.postini.com ([12.158.34.245]) with SMTP; Sun, 04 Apr 2004 20:26:33 PDT Received: by ozlabs.org (Postfix, from userid 1010) id 8194A2BD7B; Mon, 5 Apr 2004 13:26:31 +1000 (EST) Date: Mon, 5 Apr 2004 13:24:19 +1000 From: Anton Blanchard To: olh@suse.de Cc: mbligh@aracnet.com, agl@us.ibm.com, markv@us.ibm.com, benh@kernel.crashing.org, paulus@samba.org, david@gibson.dropbear.id.au Subject: configurable TASK_UNMAPPED_BASE for ppc64 Message-ID: <20040405032419.GA26474@krispykreme> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="LQksG6bCIzRHxTLp" Content-Disposition: inline User-Agent: Mutt/1.5.5.1+cvs20040105i X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on mbligh.beaverton.ibm.com X-Spam-Level: X-Spam-Status: No, hits=0.3 required=5.0 tests=UPPERCASE_25_50 autolearn=no version=2.63 Hi, Here are the ppc64 bits to support a configurable TASK_UNMAPPED_BASE as in SLES9. It only operates on 32bit tasks (same as x86-64). It will be required to allow us to allocate the maximum amount of largepage. Also attached is the complete patch, fixed to apply to mainline. Anton diff -puN include/asm-ppc64/processor.h~mapped-base include/asm-ppc64/processor.h --- linux-2.5-TASK_UNMAPPED_BASE/include/asm-ppc64/processor.h~mapped-base 2004-04-05 12:53:14.546544677 +1000 +++ linux-2.5-TASK_UNMAPPED_BASE-anton/include/asm-ppc64/processor.h 2004-04-05 12:54:39.011273801 +1000 @@ -518,8 +518,11 @@ extern struct task_struct *last_task_use /* This decides where the kernel will search for a free chunk of vm * space during mmap's. + * + * /proc/pid/unmap_base is only supported for 32bit processes for now. */ -#define TASK_UNMAPPED_BASE_USER32 (PAGE_ALIGN(STACK_TOP_USER32 / 4)) +#define __TASK_UNMAPPED_BASE (PAGE_ALIGN(STACK_TOP_USER32 / 4)) +#define TASK_UNMAPPED_BASE_USER32 (PAGE_ALIGN(current->map_base)) #define TASK_UNMAPPED_BASE_USER64 (PAGE_ALIGN(STACK_TOP_USER64 / 4)) #define TASK_UNMAPPED_BASE ((test_thread_flag(TIF_32BIT)||(ppcdebugset(PPCDBG_BINFMT_32ADDR))) ? \ _