Keir Fraser wrote: > > We cannot use pte_clear() unless we redefine it for PAE. Currently it > reduces to set_pte() which explicitly uses the wrong ordering (sets > high *then* low, because it's normally used to introduce a mapping). Yes, that means pte_clear() has the same bug. Why don't we redefine pte_clear for PAE? Then the ifdef can go away. > Also, I think wmb() should be used in PAE's set_pte(), rather than the > current smp_wmb(). They reduce to the same thing, but wmb() makes it > clear this is is not an issue specific to SMP systems. I agree with that. The problem is not related to SMP at all. I would propose this approach.