Re: Regression: x86/mm: new _PTE_SWP_SOFT_DIRTY bit conflicts withexisting use

From: Cyrill Gorcunov
Date: Wed Aug 21 2013 - 13:25:55 EST


On Wed, Aug 21, 2013 at 05:56:08PM +0100, David Vrabel wrote:
> >
> > 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.
>
> As Jan said, we're concerned that the bit was being used on present PTEs
> and not just non-present ones. From a more careful look at this code
> this does not appear to be the case.
>
> However, I do find the use of PTE bits in this way somewhat fragile.
> What other potential corner cases might still remain that will require
> further games with PTE bits?

OK, so this is not a bug finally. The problem is that 2 level pte is
quite small and 7th bit is the only one spare I can use for soft dirty
tracking when page get swapped out. And swap engine is very depending
on pte being non-present, so we are on a safe side.

> FWIW, Xen uses a separate dirty log to track which pages have become
> dirty since the log was last cleared. Such a dirty log seems more
> efficient than having scan all the PTEs looking for the soft dirty bits
> and then having to scan them all again to clear them (particularly if
> you need multiple passes because the task is still running and
> continuing to dirty pages).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/