diff options
author | Martin Hicks <mort@sgi.com> | 2005-04-26 12:04:31 -0400 |
---|---|---|
committer | Tony Luck <aegl@agluck-lia64.sc.intel.com> | 2005-04-26 12:04:31 -0400 |
commit | 2d29306b231a1a0e7a70166c10e4c0f917b21334 (patch) | |
tree | ebbf8240386b01a78a7c2fc7de307184580e8208 | |
parent | 605036cf8443b9172b24954dc1fd218e2049f91b (diff) |
[IA64] re-enable preempt before page allocation for pgtable quicklist
This is a fix to the pgtable_quicklist code. There is a GFP_KERNEL
allocation in pgtable_quicklist_alloc(), which spews the usual warnings
if the kernel is under heavy VM pressure and the reclaim code is
invoked. re-enable preempt before we allocate the new page.
This patch is against 2.6.12-rc2-mm2
Signed-off-by: Martin Hicks <mort@sgi.com>
Signed-off-by: Tony Luck <tony.luckintel.com>
-rw-r--r-- | include/asm-ia64/pgalloc.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-ia64/pgalloc.h b/include/asm-ia64/pgalloc.h index 2b7127330ae1..a5f214554afd 100644 --- a/include/asm-ia64/pgalloc.h +++ b/include/asm-ia64/pgalloc.h | |||
@@ -49,12 +49,12 @@ static inline void *pgtable_quicklist_alloc(void) | |||
49 | pgtable_quicklist = (unsigned long *)(*ret); | 49 | pgtable_quicklist = (unsigned long *)(*ret); |
50 | ret[0] = 0; | 50 | ret[0] = 0; |
51 | --pgtable_quicklist_size; | 51 | --pgtable_quicklist_size; |
52 | preempt_enable(); | ||
52 | } else { | 53 | } else { |
54 | preempt_enable(); | ||
53 | ret = (unsigned long *)__get_free_page(GFP_KERNEL | __GFP_ZERO); | 55 | ret = (unsigned long *)__get_free_page(GFP_KERNEL | __GFP_ZERO); |
54 | } | 56 | } |
55 | 57 | ||
56 | preempt_enable(); | ||
57 | |||
58 | return ret; | 58 | return ret; |
59 | } | 59 | } |
60 | 60 | ||