diff options
| author | Andrea Arcangeli <andrea@suse.de> | 2005-02-01 16:33:43 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-02-01 16:33:43 -0800 |
| commit | 6e486e8b28f68cf608979e373c74433e34a89da6 (patch) | |
| tree | 140d63613fc6f0119888d037a6b168a04ae2b424 /include | |
| parent | 86a4c6d9e2e43796bb362debd3f73c0e3b198efa (diff) | |
[PATCH] mm: convert memdie to an atomic thread bitflag
This makes memdie a TIF_MEMDIE.
memdie will not be modified by the current task, so it cannot be a
PF_MEMDIE but it must be a TIF_MEMDIE.
Signed-off-by: Andrea Arcangeli <andrea@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-alpha/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-arm/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-arm26/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-cris/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-h8300/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-i386/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-ia64/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-m32r/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-m68k/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-m68knommu/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-mips/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-parisc/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-ppc/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-ppc64/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-s390/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-sh/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-sh64/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-sparc/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-sparc64/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-um/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-v850/thread_info.h | 1 | ||||
| -rw-r--r-- | include/asm-x86_64/thread_info.h | 1 | ||||
| -rw-r--r-- | include/linux/sched.h | 5 |
23 files changed, 22 insertions, 5 deletions
diff --git a/include/asm-alpha/thread_info.h b/include/asm-alpha/thread_info.h index c433512ba57e..d51491ed00b8 100644 --- a/include/asm-alpha/thread_info.h +++ b/include/asm-alpha/thread_info.h @@ -77,6 +77,7 @@ register struct thread_info *__current_thread_info __asm__("$8"); #define TIF_UAC_NOPRINT 6 /* see sysinfo.h */ #define TIF_UAC_NOFIX 7 #define TIF_UAC_SIGBUS 8 +#define TIF_MEMDIE 9 #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) diff --git a/include/asm-arm/thread_info.h b/include/asm-arm/thread_info.h index 1dff9bf3f021..38ea07ba8488 100644 --- a/include/asm-arm/thread_info.h +++ b/include/asm-arm/thread_info.h @@ -128,6 +128,7 @@ extern void iwmmxt_task_release(struct thread_info *); #define TIF_SYSCALL_TRACE 8 #define TIF_POLLING_NRFLAG 16 #define TIF_USING_IWMMXT 17 +#define TIF_MEMDIE 18 #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) diff --git a/include/asm-arm26/thread_info.h b/include/asm-arm26/thread_info.h index 24b6591e640c..50f41b50268a 100644 --- a/include/asm-arm26/thread_info.h +++ b/include/asm-arm26/thread_info.h @@ -126,6 +126,7 @@ extern void free_thread_info(struct thread_info *); #define TIF_SYSCALL_TRACE 8 #define TIF_USED_FPU 16 #define TIF_POLLING_NRFLAG 17 +#define TIF_MEMDIE 18 #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) diff --git a/include/asm-cris/thread_info.h b/include/asm-cris/thread_info.h index f191637ac9ec..53193feb0826 100644 --- a/include/asm-cris/thread_info.h +++ b/include/asm-cris/thread_info.h @@ -85,6 +85,7 @@ struct thread_info { #define TIF_SIGPENDING 2 /* signal pending */ #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ +#define TIF_MEMDIE 17 #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) diff --git a/include/asm-h8300/thread_info.h b/include/asm-h8300/thread_info.h index e26e98cf7123..b07c9344776f 100644 --- a/include/asm-h8300/thread_info.h +++ b/include/asm-h8300/thread_info.h @@ -93,6 +93,7 @@ static inline struct thread_info *current_thread_info(void) #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ #define TIF_POLLING_NRFLAG 4 /* true if poll_idle() is polling TIF_NEED_RESCHED */ +#define TIF_MEMDIE 5 /* as above, but as bit values */ #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) diff --git a/include/asm-i386/thread_info.h b/include/asm-i386/thread_info.h index 819e84b5707a..de75216b624b 100644 --- a/include/asm-i386/thread_info.h +++ b/include/asm-i386/thread_info.h @@ -141,6 +141,7 @@ register unsigned long current_stack_pointer asm("esp") __attribute_used__; #define TIF_IRET 5 /* return with iret */ #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ +#define TIF_MEMDIE 17 #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) diff --git a/include/asm-ia64/thread_info.h b/include/asm-ia64/thread_info.h index ab8760eceb75..8d5b7e77028c 100644 --- a/include/asm-ia64/thread_info.h +++ b/include/asm-ia64/thread_info.h @@ -75,6 +75,7 @@ struct thread_info { #define TIF_SYSCALL_AUDIT 4 /* syscall auditing active */ #define TIF_SIGDELAYED 5 /* signal delayed from MCA/INIT/NMI/PMI context */ #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ +#define TIF_MEMDIE 17 #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) diff --git a/include/asm-m32r/thread_info.h b/include/asm-m32r/thread_info.h index 89564da517ce..9f3a0fcf6e2b 100644 --- a/include/asm-m32r/thread_info.h +++ b/include/asm-m32r/thread_info.h @@ -155,6 +155,7 @@ static inline unsigned int get_thread_fault_code(void) #define TIF_IRET 5 /* return with iret */ #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ /* 31..28 fault code */ +#define TIF_MEMDIE 17 #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) diff --git a/include/asm-m68k/thread_info.h b/include/asm-m68k/thread_info.h index 6a4367e3504e..9de3c930ccbf 100644 --- a/include/asm-m68k/thread_info.h +++ b/include/asm-m68k/thread_info.h @@ -48,6 +48,7 @@ struct thread_info { #define TIF_NOTIFY_RESUME 2 /* resumption notification requested */ #define TIF_SIGPENDING 3 /* signal pending */ #define TIF_NEED_RESCHED 4 /* rescheduling necessary */ +#define TIF_MEMDIE 5 extern int thread_flag_fixme(void); diff --git a/include/asm-m68knommu/thread_info.h b/include/asm-m68knommu/thread_info.h index 72d8839531d0..cedf441d375e 100644 --- a/include/asm-m68knommu/thread_info.h +++ b/include/asm-m68knommu/thread_info.h @@ -85,6 +85,7 @@ static inline struct thread_info *current_thread_info(void) #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ #define TIF_POLLING_NRFLAG 4 /* true if poll_idle() is polling TIF_NEED_RESCHED */ +#define TIF_MEMDIE 5 /* as above, but as bit values */ #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) diff --git a/include/asm-mips/thread_info.h b/include/asm-mips/thread_info.h index 5f3b64875add..768900305e2f 100644 --- a/include/asm-mips/thread_info.h +++ b/include/asm-mips/thread_info.h @@ -116,6 +116,7 @@ register struct thread_info *__current_thread_info __asm__("$28"); #define TIF_SYSCALL_AUDIT 4 /* syscall auditing active */ #define TIF_USEDFPU 16 /* FPU was used by this task this quantum (SMP) */ #define TIF_POLLING_NRFLAG 17 /* true if poll_idle() is polling TIF_NEED_RESCHED */ +#define TIF_MEMDIE 18 #define TIF_SYSCALL_TRACE 31 /* syscall trace active */ #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) diff --git a/include/asm-parisc/thread_info.h b/include/asm-parisc/thread_info.h index e47d890ef300..e51693dbceb4 100644 --- a/include/asm-parisc/thread_info.h +++ b/include/asm-parisc/thread_info.h @@ -63,6 +63,7 @@ struct thread_info { #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ #define TIF_POLLING_NRFLAG 4 /* true if poll_idle() is polling TIF_NEED_RESCHED */ #define TIF_32BIT 5 /* 32 bit binary */ +#define TIF_MEMDIE 6 #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) diff --git a/include/asm-ppc/thread_info.h b/include/asm-ppc/thread_info.h index c39b6ce04599..f7f01524e8a8 100644 --- a/include/asm-ppc/thread_info.h +++ b/include/asm-ppc/thread_info.h @@ -76,6 +76,7 @@ static inline struct thread_info *current_thread_info(void) #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ #define TIF_POLLING_NRFLAG 4 /* true if poll_idle() is polling TIF_NEED_RESCHED */ +#define TIF_MEMDIE 5 /* as above, but as bit values */ #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) diff --git a/include/asm-ppc64/thread_info.h b/include/asm-ppc64/thread_info.h index e823d119ffcf..d4b978c26d71 100644 --- a/include/asm-ppc64/thread_info.h +++ b/include/asm-ppc64/thread_info.h @@ -100,6 +100,7 @@ static inline struct thread_info *current_thread_info(void) #define TIF_ABI_PENDING 7 /* 32/64 bit switch needed */ #define TIF_SYSCALL_AUDIT 8 /* syscall auditing active */ #define TIF_SINGLESTEP 9 /* singlestepping active */ +#define TIF_MEMDIE 10 /* as above, but as bit values */ #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) diff --git a/include/asm-s390/thread_info.h b/include/asm-s390/thread_info.h index 45f43bda1d2f..aade85c53a63 100644 --- a/include/asm-s390/thread_info.h +++ b/include/asm-s390/thread_info.h @@ -100,6 +100,7 @@ static inline struct thread_info *current_thread_info(void) #define TIF_POLLING_NRFLAG 17 /* true if poll_idle() is polling TIF_NEED_RESCHED */ #define TIF_31BIT 18 /* 32bit process */ +#define TIF_MEMDIE 19 #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) diff --git a/include/asm-sh/thread_info.h b/include/asm-sh/thread_info.h index 3bac2a5a5656..d82f883d8e6d 100644 --- a/include/asm-sh/thread_info.h +++ b/include/asm-sh/thread_info.h @@ -83,6 +83,7 @@ static inline struct thread_info *current_thread_info(void) #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ #define TIF_USEDFPU 16 /* FPU was used by this task this quantum (SMP) */ #define TIF_POLLING_NRFLAG 17 /* true if poll_idle() is polling TIF_NEED_RESCHED */ +#define TIF_MEMDIE 18 #define TIF_USERSPACE 31 /* true if FS sets userspace */ #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) diff --git a/include/asm-sh64/thread_info.h b/include/asm-sh64/thread_info.h index f9d2a22dbd37..99e7c926f4bd 100644 --- a/include/asm-sh64/thread_info.h +++ b/include/asm-sh64/thread_info.h @@ -74,6 +74,7 @@ static inline struct thread_info *current_thread_info(void) #define TIF_SYSCALL_TRACE 0 /* syscall trace active */ #define TIF_SIGPENDING 2 /* signal pending */ #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ +#define TIF_MEMDIE 4 #define THREAD_SIZE 16384 diff --git a/include/asm-sparc/thread_info.h b/include/asm-sparc/thread_info.h index b4a5494ac972..104f03c55416 100644 --- a/include/asm-sparc/thread_info.h +++ b/include/asm-sparc/thread_info.h @@ -138,6 +138,7 @@ BTFIXUPDEF_CALL(void, free_thread_info, struct thread_info *) * this quantum (SMP) */ #define TIF_POLLING_NRFLAG 9 /* true if poll_idle() is polling * TIF_NEED_RESCHED */ +#define TIF_MEMDIE 10 /* as above, but as bit values */ #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) diff --git a/include/asm-sparc64/thread_info.h b/include/asm-sparc64/thread_info.h index d1a536260698..517caaba1c87 100644 --- a/include/asm-sparc64/thread_info.h +++ b/include/asm-sparc64/thread_info.h @@ -228,6 +228,7 @@ register struct thread_info *current_thread_info_reg asm("g6"); * an immediate value in instructions such as andcc. */ #define TIF_ABI_PENDING 12 +#define TIF_MEMDIE 13 #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) diff --git a/include/asm-um/thread_info.h b/include/asm-um/thread_info.h index 7797873890c2..bffb577bc54e 100644 --- a/include/asm-um/thread_info.h +++ b/include/asm-um/thread_info.h @@ -71,6 +71,7 @@ static inline struct thread_info *current_thread_info(void) * TIF_NEED_RESCHED */ #define TIF_RESTART_BLOCK 4 +#define TIF_MEMDIE 5 #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) diff --git a/include/asm-v850/thread_info.h b/include/asm-v850/thread_info.h index b5770136e433..e2ef44593752 100644 --- a/include/asm-v850/thread_info.h +++ b/include/asm-v850/thread_info.h @@ -83,6 +83,7 @@ struct thread_info { #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ #define TIF_POLLING_NRFLAG 4 /* true if poll_idle() is polling TIF_NEED_RESCHED */ +#define TIF_MEMDIE 5 /* as above, but as bit values */ #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) diff --git a/include/asm-x86_64/thread_info.h b/include/asm-x86_64/thread_info.h index 4e2743453551..255e7e66e897 100644 --- a/include/asm-x86_64/thread_info.h +++ b/include/asm-x86_64/thread_info.h @@ -106,6 +106,7 @@ static inline struct thread_info *stack_thread_info(void) #define TIF_IA32 17 /* 32bit process */ #define TIF_FORK 18 /* ret_from_fork */ #define TIF_ABI_PENDING 19 +#define TIF_MEMDIE 20 #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) diff --git a/include/linux/sched.h b/include/linux/sched.h index c34c9671b030..cf7394b25af5 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -615,11 +615,6 @@ struct task_struct { struct key *thread_keyring; /* keyring private to this thread */ #endif /* - * All archs should support atomic ops with - * 1 byte granularity. - */ - unsigned char memdie; -/* * Must be changed atomically so it shouldn't be * be a shareable bitflag. */ |
