aboutsummaryrefslogtreecommitdiffstats
path: root/lib/genalloc.c
diff options
context:
space:
mode:
authorZachary Amsden <[email protected]>2006-10-01 06:29:36 +0000
committerLinus Torvalds <[email protected]>2006-10-01 07:39:34 +0000
commitd6d861e3c963b4077c83e078e3e300c4b81f93e7 (patch)
tree842071ac905575aa0ea8bedd3a1ac5db29416bcf /lib/genalloc.c
parent[PATCH] paravirt: kpte flush (diff)
downloadkernel-d6d861e3c963b4077c83e078e3e300c4b81f93e7.tar.gz
kernel-d6d861e3c963b4077c83e078e3e300c4b81f93e7.zip
[PATCH] paravirt: optimize ptep establish for pae
The ptep_establish macro is only used on user-level PTEs, for P->P mapping changes. Since these always happen under protection of the pagetable lock, the strong synchronization of a 64-bit cmpxchg is not needed, in fact, not even a lock prefix needs to be used. We can simply instead clear the P-bit, followed by a normal set. The write ordering is still important to avoid the possibility of the TLB snooping a partially written PTE and getting a bad mapping installed. Signed-off-by: Zachary Amsden <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Jeremy Fitzhardinge <[email protected]> Cc: Andi Kleen <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'lib/genalloc.c')
0 files changed, 0 insertions, 0 deletions