diff options
author | Hugh Dickins <hugh@veritas.com> | 2005-10-29 21:16:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-30 00:40:39 -0400 |
commit | 46dea3d092d23a58b42499cc8a21de0fad079f4a (patch) | |
tree | 6ca46fb09d18e8ea51a354a1494cc742fcf2f2e7 /include/linux | |
parent | f449952bc8bde7fbc73c6d20dff92b627a21f8b9 (diff) |
[PATCH] mm: ia64 use expand_upwards
ia64 has expand_backing_store function for growing its Register Backing Store
vma upwards. But more complete code for this purpose is found in the
CONFIG_STACK_GROWSUP part of mm/mmap.c. Uglify its #ifdefs further to provide
expand_upwards for ia64 as well as expand_stack for parisc.
The Register Backing Store vma should be marked VM_ACCOUNT. Implement the
intention of growing it only a page at a time, instead of passing an address
outside of the vma to handle_mm_fault, with unknown consequences.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/mm.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index 7d4552fe0864..89398032bc4b 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -896,7 +896,8 @@ void handle_ra_miss(struct address_space *mapping, | |||
896 | unsigned long max_sane_readahead(unsigned long nr); | 896 | unsigned long max_sane_readahead(unsigned long nr); |
897 | 897 | ||
898 | /* Do stack extension */ | 898 | /* Do stack extension */ |
899 | extern int expand_stack(struct vm_area_struct * vma, unsigned long address); | 899 | extern int expand_stack(struct vm_area_struct *vma, unsigned long address); |
900 | extern int expand_upwards(struct vm_area_struct *vma, unsigned long address); | ||
900 | 901 | ||
901 | /* Look up the first VMA which satisfies addr < vm_end, NULL if none. */ | 902 | /* Look up the first VMA which satisfies addr < vm_end, NULL if none. */ |
902 | extern struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr); | 903 | extern struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr); |