diff options
author | Christoph Lameter <clameter@sgi.com> | 2007-12-22 17:03:23 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-23 15:54:36 -0500 |
commit | ed367fc3a7349b17354c7acef551533337764859 (patch) | |
tree | 90f795da9aa2165be7cffd776822712e5fc4ad56 | |
parent | 5b825ed22b02691e39774e8b2a077d1807969ec7 (diff) |
quicklists: do not release off node pages early
quicklists must keep even off node pages on the quicklists until the TLB
flush has been completed.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/linux/quicklist.h | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/include/linux/quicklist.h b/include/linux/quicklist.h index 9371c6116df3..39b66713a0bb 100644 --- a/include/linux/quicklist.h +++ b/include/linux/quicklist.h | |||
@@ -56,14 +56,6 @@ static inline void __quicklist_free(int nr, void (*dtor)(void *), void *p, | |||
56 | struct page *page) | 56 | struct page *page) |
57 | { | 57 | { |
58 | struct quicklist *q; | 58 | struct quicklist *q; |
59 | int nid = page_to_nid(page); | ||
60 | |||
61 | if (unlikely(nid != numa_node_id())) { | ||
62 | if (dtor) | ||
63 | dtor(p); | ||
64 | __free_page(page); | ||
65 | return; | ||
66 | } | ||
67 | 59 | ||
68 | q = &get_cpu_var(quicklist)[nr]; | 60 | q = &get_cpu_var(quicklist)[nr]; |
69 | *(void **)p = q->page; | 61 | *(void **)p = q->page; |