Linus Torvalds
3d80636a0d
Fix memory ordering bug in page reclaim
...
As noticed by Nick Piggin, we need to make sure that we check the page
count before we check for PageDirty, since the dirty check is only valid
if the count implies that we're the only possible ones holding the page.
We always did do this, but the code needs a read-memory-barrier to make
sure that the orderign is also honored by the CPU.
(The writer side is ordered due to the atomic decrement and test on the
page count, see the discussion on linux-kernel)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-16 17:36:06 -07:00
..
bootmem.c
Revert "x86-64: Reverse order of bootmem lists"
2005-09-30 12:38:27 -07:00
fadvise.c
[PATCH] xip: madvice/fadvice: execute in place
2005-06-24 00:06:42 -07:00
filemap.c
[PATCH] mm/filemap.c: make two functions static
2005-09-10 10:06:25 -07:00
filemap.h
[PATCH] xip: reduce code duplication
2005-06-24 00:06:41 -07:00
filemap_xip.c
[PATCH] execute-in-place fixes
2005-07-15 09:54:50 -07:00
fremap.c
[PATCH] Don't map the same page too much
2005-10-11 12:03:47 -07:00
highmem.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
hugetlb.c
[PATCH] hugetlb: move stale pte check into huge_pte_alloc()
2005-09-05 00:05:46 -07:00
internal.h
Kconfig
[PATCH] fix mm/Kconfig spelling
2005-09-17 11:50:01 -07:00
madvise.c
[PATCH] madvise: Avoid returning error code -EBADF for anonymous mappings
2005-10-11 09:46:54 -07:00
Makefile
[PATCH] xip: fs/mm: execute in place
2005-06-24 00:06:41 -07:00
memory.c
[PATCH] mm/filemap.c: make two functions static
2005-09-10 10:06:25 -07:00
mempolicy.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
mempool.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
mincore.c
mlock.c
mmap.c
[PATCH] fix locking comment in unmap_region()
2005-09-21 10:11:55 -07:00
mprotect.c
[PATCH] mm: add a note about partially hardcoded VM_* flags
2005-09-21 10:11:55 -07:00
mremap.c
[PATCH] mm: move_pte to remap ZERO_PAGE
2005-09-28 07:46:40 -07:00
msync.c
[PATCH] msync: check pte dirty earlier
2005-06-21 18:46:21 -07:00
nommu.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
oom_kill.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
page-writeback.c
[PATCH] timer initialization cleanup: DEFINE_TIMER
2005-09-09 14:03:48 -07:00
page_alloc.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
page_io.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
pdflush.c
[PATCH] Cleanup patch for process freezing
2005-06-25 17:10:13 -07:00
prio_tree.c
readahead.c
[PATCH] readahead: reset cache_hit earlier
2005-09-07 16:57:25 -07:00
rmap.c
[PATCH] mm: cleanup rmap
2005-09-05 00:05:43 -07:00
shmem.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
slab.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
sparse.c
[PATCH] sparsemem extreme: hotplug preparation
2005-09-05 00:05:38 -07:00
swap.c
swap_state.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
swapfile.c
[PATCH] Fix bd_claim() error code.
2005-09-22 22:17:37 -07:00
thrash.c
tiny-shmem.c
truncate.c
[PATCH] DocBook: fix some descriptions
2005-05-01 08:59:26 -07:00
vmalloc.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
vmscan.c
Fix memory ordering bug in page reclaim
2005-10-16 17:36:06 -07:00