diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-25 19:53:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-25 19:53:16 -0400 |
commit | ce7d0226198aac42ed311dd2783232adc16b296d (patch) | |
tree | 64ae863b9fbae4cd16da8a2d8553573bd676e23c /arch/alpha/mm/fault.c | |
parent | b142ebb61cd36370c6fac5e0b8261a6cd7bba782 (diff) | |
parent | a75f5f0f0a3676216e0015b3040c785dbfe1e0da (diff) |
Merge branch 'alpha-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6
* 'alpha-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6:
alpha: simplify and optimize sched_find_first_bit
alpha: invoke oom-killer from page fault
Convert alpha to use clocksources instead of arch_gettimeoffset
Diffstat (limited to 'arch/alpha/mm/fault.c')
-rw-r--r-- | arch/alpha/mm/fault.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c index 00a31deaa96e..fadd5f882ff9 100644 --- a/arch/alpha/mm/fault.c +++ b/arch/alpha/mm/fault.c | |||
@@ -142,7 +142,6 @@ do_page_fault(unsigned long address, unsigned long mmcsr, | |||
142 | goto bad_area; | 142 | goto bad_area; |
143 | } | 143 | } |
144 | 144 | ||
145 | survive: | ||
146 | /* If for any reason at all we couldn't handle the fault, | 145 | /* If for any reason at all we couldn't handle the fault, |
147 | make sure we exit gracefully rather than endlessly redo | 146 | make sure we exit gracefully rather than endlessly redo |
148 | the fault. */ | 147 | the fault. */ |
@@ -188,16 +187,10 @@ do_page_fault(unsigned long address, unsigned long mmcsr, | |||
188 | /* We ran out of memory, or some other thing happened to us that | 187 | /* We ran out of memory, or some other thing happened to us that |
189 | made us unable to handle the page fault gracefully. */ | 188 | made us unable to handle the page fault gracefully. */ |
190 | out_of_memory: | 189 | out_of_memory: |
191 | if (is_global_init(current)) { | ||
192 | yield(); | ||
193 | down_read(&mm->mmap_sem); | ||
194 | goto survive; | ||
195 | } | ||
196 | printk(KERN_ALERT "VM: killing process %s(%d)\n", | ||
197 | current->comm, task_pid_nr(current)); | ||
198 | if (!user_mode(regs)) | 190 | if (!user_mode(regs)) |
199 | goto no_context; | 191 | goto no_context; |
200 | do_group_exit(SIGKILL); | 192 | pagefault_out_of_memory(); |
193 | return; | ||
201 | 194 | ||
202 | do_sigbus: | 195 | do_sigbus: |
203 | /* Send a sigbus, regardless of whether we were in kernel | 196 | /* Send a sigbus, regardless of whether we were in kernel |