On Wed, Aug 21, 2013 at 05:03:13PM +0100, Jan Beulich wrote: > > > > Only to non-present ptes, as far as I know. > > That's not really any guarantee. And the accessor functions also > don't check that they'd be used on non-present PTEs only.
Wait. This _PAGE_SWP_SOFT_DIRTY bit (which is in real PSE bit) assigned in only one place -- in try_to_unmap_one(). The PTE get non-present then and consists of swap entry format. I don't see any accessor to such entry without testing if it's swap entry or pte-none. What I'm missing? > > orig_pte has pse bit set if page has been soft dirty > > when it reached swap. > > "when it reached swap" to me again implies that it could come > from a live page table, with the present bit set. So that > explanation attempt of yours confuses me more than it > clarifies things for me. (And referring to this bit as PSE bit is When page swapped out it become non-present in pte entry. > sort of wrong here too - there's no PSE bit for 4k PTEs, that > bit is the PAT one, and that's what the whole discussion > started from.) And I asked David to point me how it happens, because I don't understand at which point pse bit get analized when page is not present. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/