diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-05 17:55:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-05 17:55:20 -0400 |
commit | ea62ccd00fd0b6720b033adfc9984f31130ce195 (patch) | |
tree | 9837b797b2466fffcb0af96c388b06eae9c3df18 /include/asm-x86_64/pgalloc.h | |
parent | 886a0768affe9a32f18c45f8e1393bca9ece5392 (diff) | |
parent | 35060b6a9a4e1c89bc6fbea61090e302dbc61847 (diff) |
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (231 commits)
[PATCH] i386: Don't delete cpu_devs data to identify different x86 types in late_initcall
[PATCH] i386: type may be unused
[PATCH] i386: Some additional chipset register values validation.
[PATCH] i386: Add missing !X86_PAE dependincy to the 2G/2G split.
[PATCH] x86-64: Don't exclude asm-offsets.c in Documentation/dontdiff
[PATCH] i386: avoid redundant preempt_disable in __unlazy_fpu
[PATCH] i386: white space fixes in i387.h
[PATCH] i386: Drop noisy e820 debugging printks
[PATCH] x86-64: Fix allnoconfig error in genapic_flat.c
[PATCH] x86-64: Shut up warnings for vfat compat ioctls on other file systems
[PATCH] x86-64: Share identical video.S between i386 and x86-64
[PATCH] x86-64: Remove CONFIG_REORDER
[PATCH] x86-64: Print type and size correctly for unknown compat ioctls
[PATCH] i386: Remove copy_*_user BUG_ONs for (size < 0)
[PATCH] i386: Little cleanups in smpboot.c
[PATCH] x86-64: Don't enable NUMA for a single node in K8 NUMA scanning
[PATCH] x86: Use RDTSCP for synchronous get_cycles if possible
[PATCH] i386: Add X86_FEATURE_RDTSCP
[PATCH] i386: Implement X86_FEATURE_SYNC_RDTSC on i386
[PATCH] i386: Implement alternative_io for i386
...
Fix up trivial conflict in include/linux/highmem.h manually.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-x86_64/pgalloc.h')
-rw-r--r-- | include/asm-x86_64/pgalloc.h | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/include/asm-x86_64/pgalloc.h b/include/asm-x86_64/pgalloc.h index 4e28b6060a5e..8bb564687860 100644 --- a/include/asm-x86_64/pgalloc.h +++ b/include/asm-x86_64/pgalloc.h | |||
@@ -1,7 +1,6 @@ | |||
1 | #ifndef _X86_64_PGALLOC_H | 1 | #ifndef _X86_64_PGALLOC_H |
2 | #define _X86_64_PGALLOC_H | 2 | #define _X86_64_PGALLOC_H |
3 | 3 | ||
4 | #include <asm/fixmap.h> | ||
5 | #include <asm/pda.h> | 4 | #include <asm/pda.h> |
6 | #include <linux/threads.h> | 5 | #include <linux/threads.h> |
7 | #include <linux/mm.h> | 6 | #include <linux/mm.h> |
@@ -45,24 +44,16 @@ static inline void pgd_list_add(pgd_t *pgd) | |||
45 | struct page *page = virt_to_page(pgd); | 44 | struct page *page = virt_to_page(pgd); |
46 | 45 | ||
47 | spin_lock(&pgd_lock); | 46 | spin_lock(&pgd_lock); |
48 | page->index = (pgoff_t)pgd_list; | 47 | list_add(&page->lru, &pgd_list); |
49 | if (pgd_list) | ||
50 | pgd_list->private = (unsigned long)&page->index; | ||
51 | pgd_list = page; | ||
52 | page->private = (unsigned long)&pgd_list; | ||
53 | spin_unlock(&pgd_lock); | 48 | spin_unlock(&pgd_lock); |
54 | } | 49 | } |
55 | 50 | ||
56 | static inline void pgd_list_del(pgd_t *pgd) | 51 | static inline void pgd_list_del(pgd_t *pgd) |
57 | { | 52 | { |
58 | struct page *next, **pprev, *page = virt_to_page(pgd); | 53 | struct page *page = virt_to_page(pgd); |
59 | 54 | ||
60 | spin_lock(&pgd_lock); | 55 | spin_lock(&pgd_lock); |
61 | next = (struct page *)page->index; | 56 | list_del(&page->lru); |
62 | pprev = (struct page **)page->private; | ||
63 | *pprev = next; | ||
64 | if (next) | ||
65 | next->private = (unsigned long)pprev; | ||
66 | spin_unlock(&pgd_lock); | 57 | spin_unlock(&pgd_lock); |
67 | } | 58 | } |
68 | 59 | ||