From mboxrd@z Thu Jan 1 00:00:00 1970 From: akpm@linux-foundation.org Subject: - maps4-rework-task_size-macros.patch removed from -mm tree Date: Tue, 05 Feb 2008 14:30:57 -0800 Message-ID: <200802052230.m15MUcNs012088@imap1.linux-foundation.org> Reply-To: linux-kernel@vger.kernel.org Return-path: Received: from smtp2.linux-foundation.org ([207.189.120.14]:43062 "EHLO smtp2.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759185AbYBEWoU (ORCPT ); Tue, 5 Feb 2008 17:44:20 -0500 Sender: mm-commits-owner@vger.kernel.org List-Id: mm-commits@vger.kernel.org To: haveblue@us.ibm.com, mpm@selenic.com, ralf@linux-mips.org, rientjes@google.com, mm-commits@vger.kernel.org The patch titled maps4: rework TASK_SIZE macros has been removed from the -mm tree. Its filename was maps4-rework-task_size-macros.patch This patch was dropped because it was merged into mainline or a subsystem tree The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: maps4: rework TASK_SIZE macros From: Dave Hansen The following replaces the earlier patches sent. It should address David Rientjes's comments, and has been compile tested on all the architectures that it touches, save for parisc. For the /proc//pagemap code[1], we need to able to query how much virtual address space a particular task has. The trick is that we do it through /proc and can't use TASK_SIZE since it references "current" on some arches. The process opening the /proc file might be a 32-bit process opening a 64-bit process's pagemap file. x86_64 already has a TASK_SIZE_OF() macro: #define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64) I'd like to have that for other architectures. So, add it for all the architectures that actually use "current" in their TASK_SIZE. For the others, just add a quick #define in sched.h to use plain old TASK_SIZE. 1. http://www.linuxworld.com/news/2007/042407-kernel.html - MIPS portion from Ralf Baechle [akpm@linux-foundation.org: fix mips build] Signed-off-by: Dave Hansen Signed-off-by: Ralf Baechle Signed-off-by: Matt Mackall Acked-by: David Rientjes Cc: Dave Hansen Signed-off-by: Andrew Morton --- include/asm-ia64/processor.h | 3 ++- include/asm-mips/processor.h | 2 ++ include/asm-parisc/processor.h | 3 ++- include/asm-powerpc/processor.h | 3 ++- include/asm-s390/processor.h | 3 ++- include/linux/sched.h | 4 ++++ 6 files changed, 14 insertions(+), 4 deletions(-) diff -puN include/asm-ia64/processor.h~maps4-rework-task_size-macros include/asm-ia64/processor.h --- a/include/asm-ia64/processor.h~maps4-rework-task_size-macros +++ a/include/asm-ia64/processor.h @@ -31,7 +31,8 @@ * each (assuming 8KB page size), for a total of 8TB of user virtual * address space. */ -#define TASK_SIZE (current->thread.task_size) +#define TASK_SIZE_OF(tsk) ((tsk)->thread.task_size) +#define TASK_SIZE TASK_SIZE_OF(current) /* * This decides where the kernel will search for a free chunk of vm diff -puN include/asm-mips/processor.h~maps4-rework-task_size-macros include/asm-mips/processor.h --- a/include/asm-mips/processor.h~maps4-rework-task_size-macros +++ a/include/asm-mips/processor.h @@ -65,6 +65,8 @@ extern unsigned int vced_count, vcei_cou #define TASK_UNMAPPED_BASE \ (test_thread_flag(TIF_32BIT_ADDR) ? \ PAGE_ALIGN(TASK_SIZE32 / 3) : PAGE_ALIGN(TASK_SIZE / 3)) +#define TASK_SIZE_OF(tsk) \ + (test_tsk_thread_flag(tsk, TIF_32BIT_ADDR) ? TASK_SIZE32 : TASK_SIZE) #endif #define NUM_FPU_REGS 32 diff -puN include/asm-parisc/processor.h~maps4-rework-task_size-macros include/asm-parisc/processor.h --- a/include/asm-parisc/processor.h~maps4-rework-task_size-macros +++ a/include/asm-parisc/processor.h @@ -32,7 +32,8 @@ #endif #define current_text_addr() ({ void *pc; current_ia(pc); pc; }) -#define TASK_SIZE (current->thread.task_size) +#define TASK_SIZE_OF(tsk) ((tsk)->thread.task_size) +#define TASK_SIZE TASK_SIZE_OF(current) #define TASK_UNMAPPED_BASE (current->thread.map_base) #define DEFAULT_TASK_SIZE32 (0xFFF00000UL) diff -puN include/asm-powerpc/processor.h~maps4-rework-task_size-macros include/asm-powerpc/processor.h --- a/include/asm-powerpc/processor.h~maps4-rework-task_size-macros +++ a/include/asm-powerpc/processor.h @@ -99,8 +99,9 @@ extern struct task_struct *last_task_use */ #define TASK_SIZE_USER32 (0x0000000100000000UL - (1*PAGE_SIZE)) -#define TASK_SIZE (test_thread_flag(TIF_32BIT) ? \ +#define TASK_SIZE_OF(tsk) (test_tsk_thread_flag(tsk, TIF_32BIT) ? \ TASK_SIZE_USER32 : TASK_SIZE_USER64) +#define TASK_SIZE TASK_SIZE_OF(current) /* This decides where the kernel will search for a free chunk of vm * space during mmap's. diff -puN include/asm-s390/processor.h~maps4-rework-task_size-macros include/asm-s390/processor.h --- a/include/asm-s390/processor.h~maps4-rework-task_size-macros +++ a/include/asm-s390/processor.h @@ -70,8 +70,9 @@ extern int get_cpu_capability(unsigned i #else /* __s390x__ */ -# define TASK_SIZE (test_thread_flag(TIF_31BIT) ? \ +# define TASK_SIZE_OF(tsk) (test_tsk_thread_flag(tsk, TIF_31BIT) ? \ (0x80000000UL) : (0x40000000000UL)) +# define TASK_SIZE TASK_SIZE_OF(current) # define TASK_UNMAPPED_BASE (TASK_SIZE / 2) # define DEFAULT_TASK_SIZE (0x40000000000UL) diff -puN include/linux/sched.h~maps4-rework-task_size-macros include/linux/sched.h --- a/include/linux/sched.h~maps4-rework-task_size-macros +++ a/include/linux/sched.h @@ -2087,6 +2087,10 @@ static inline void migration_init(void) } #endif +#ifndef TASK_SIZE_OF +#define TASK_SIZE_OF(tsk) TASK_SIZE +#endif + #endif /* __KERNEL__ */ #endif _ Patches currently in -mm which might be from haveblue@us.ibm.com are origin.patch enable-hotplug-memory-remove-for-ppc64.patch add-arch-specific-walk_memory_remove-for-ppc64.patch reiserfs-eliminate-private-use-of-struct-file-in-xattr.patch do-namei_flags-calculation-inside-open_namei.patch make-open_namei-return-a-filp.patch kill-do_filp_open.patch kill-filp_open.patch kill-filp_open-checkpatch-fixes.patch rename-open_namei-to-open_pathname.patch rename-open_namei-to-open_pathname-fix.patch r-o-bind-mounts-stub-functions.patch r-o-bind-mounts-do_rmdir-elevate-write-count.patch r-o-bind-mounts-elevate-mnt-writers-for-callers-of-vfs_mkdir.patch r-o-bind-mounts-elevate-mnt-writers-for-vfs_unlink-callers.patch r-o-bind-mounts-elevate-mount-count-for-extended-attributes.patch r-o-bind-mounts-elevate-write-count-during-entire-ncp_ioctl.patch r-o-bind-mounts-elevate-write-count-during-entire-ncp_ioctl-fix.patch r-o-bind-mounts-elevate-write-count-for-do_sys_utime-and-touch_atime.patch r-o-bind-mounts-elevate-write-count-for-do_utimes.patch r-o-bind-mounts-elevate-write-count-for-file_update_time.patch r-o-bind-mounts-elevate-write-count-for-link-and-symlink-calls.patch r-o-bind-mounts-elevate-write-count-for-some-ioctls.patch r-o-bind-mounts-elevate-write-count-for-some-ioctls-checkpatch-fixes.patch r-o-bind-mounts-elevate-write-count-for-some-ioctls-vs-forbid-user-to-change-file-flags-on-quota-files.patch r-o-bind-mounts-elevate-write-count-opened-files.patch r-o-bind-mounts-elevate-write-count-opened-files-oops-fix.patch r-o-bind-mounts-elevate-write-count-over-calls-to-vfs_rename.patch r-o-bind-mounts-elevate-writer-count-for-chown-and-friends.patch r-o-bind-mounts-elevate-writer-count-for-do_sys_truncate.patch r-o-bind-mounts-make-access-use-mnt-check.patch r-o-bind-mounts-nfs-check-mnt-instead-of-superblock-directly.patch r-o-bind-mounts-nfs-check-mnt-instead-of-superblock-directly-checkpatch-fixes.patch r-o-bind-mounts-sys_mknodat-elevate-write-count-for-vfs_mknod-create.patch r-o-bind-mounts-track-number-of-mount-writers.patch r-o-bind-mounts-track-number-of-mount-writers-make-lockdep-happy-with-r-o-bind-mounts.patch r-o-bind-mounts-track-number-of-mount-writer-fix-buggy-loop.patch r-o-bind-mounts-track-number-of-mount-writer-fix-buggy-loop-checkpatch-fixes.patch r-o-bind-mounts-honor-r-w-changes-at-do_remount-time.patch keep-track-of-mnt_writer-state-of-struct-file.patch keep-track-of-mnt_writer-state-of-struct-file-fix-warn_on.patch keep-track-of-mnt_writer-state-of-struct-file-fix-warn_on-fix.patch create-file_drop_write_access-helper.patch fix-up-new-filp-allocators.patch use-struct-path-in-struct-svc_export-nfsd-fix-wrong-mnt_writer-count-in-rename.patch reiser4.patch page-owner-tracking-leak-detector.patch