projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
[linux-2.6-block.git]
/
mm
/
ksm.c
diff --git
a/mm/ksm.c
b/mm/ksm.c
index 4162dce2eb44c3aa336a9084f7458d9ac719888e..7ee101eaacdfe9eb82061585bb820df243a3650b 100644
(file)
--- a/
mm/ksm.c
+++ b/
mm/ksm.c
@@
-542,7
+542,7
@@
static struct page *get_ksm_page(struct stable_node *stable_node, bool lock_it)
expected_mapping = (void *)stable_node +
(PAGE_MAPPING_ANON | PAGE_MAPPING_KSM);
again:
expected_mapping = (void *)stable_node +
(PAGE_MAPPING_ANON | PAGE_MAPPING_KSM);
again:
- kpfn =
ACCESS
_ONCE(stable_node->kpfn);
+ kpfn =
READ
_ONCE(stable_node->kpfn);
page = pfn_to_page(kpfn);
/*
page = pfn_to_page(kpfn);
/*
@@
-551,7
+551,7
@@
again:
* but on Alpha we need to be more careful.
*/
smp_read_barrier_depends();
* but on Alpha we need to be more careful.
*/
smp_read_barrier_depends();
- if (
ACCESS
_ONCE(page->mapping) != expected_mapping)
+ if (
READ
_ONCE(page->mapping) != expected_mapping)
goto stale;
/*
goto stale;
/*
@@
-577,14
+577,14
@@
again:
cpu_relax();
}
cpu_relax();
}
- if (
ACCESS
_ONCE(page->mapping) != expected_mapping) {
+ if (
READ
_ONCE(page->mapping) != expected_mapping) {
put_page(page);
goto stale;
}
if (lock_it) {
lock_page(page);
put_page(page);
goto stale;
}
if (lock_it) {
lock_page(page);
- if (
ACCESS
_ONCE(page->mapping) != expected_mapping) {
+ if (
READ
_ONCE(page->mapping) != expected_mapping) {
unlock_page(page);
put_page(page);
goto stale;
unlock_page(page);
put_page(page);
goto stale;
@@
-600,7
+600,7
@@
stale:
* before checking whether node->kpfn has been changed.
*/
smp_rmb();
* before checking whether node->kpfn has been changed.
*/
smp_rmb();
- if (
ACCESS
_ONCE(stable_node->kpfn) != kpfn)
+ if (
READ
_ONCE(stable_node->kpfn) != kpfn)
goto again;
remove_node_from_stable_tree(stable_node);
return NULL;
goto again;
remove_node_from_stable_tree(stable_node);
return NULL;