Re: [PATCH] mm: softdirty: unmapped addresses between VMAs are clean

2014-09-11 Thread Andrew Morton
On Wed, 10 Sep 2014 22:41:04 -0700 Peter Feiner wrote: > On Wed, Sep 10, 2014 at 04:36:28PM -0700, Andrew Morton wrote: > > On Wed, 10 Sep 2014 16:24:46 -0700 Peter Feiner wrote: > > > @@ -1048,32 +1048,51 @@ static int pagemap_pte_range(pmd_t *pmd, unsigned > > > long addr, unsigned long end,

Re: [PATCH] mm: softdirty: unmapped addresses between VMAs are clean

2014-09-10 Thread Peter Feiner
On Wed, Sep 10, 2014 at 04:36:28PM -0700, Andrew Morton wrote: > On Wed, 10 Sep 2014 16:24:46 -0700 Peter Feiner wrote: > > @@ -1048,32 +1048,51 @@ static int pagemap_pte_range(pmd_t *pmd, unsigned > > long addr, unsigned long end, > > + while (1) { > > + unsigned long vm_start = end;

Re: [PATCH] mm: softdirty: unmapped addresses between VMAs are clean

2014-09-10 Thread Andrew Morton
On Wed, 10 Sep 2014 16:24:46 -0700 Peter Feiner wrote: > If a /proc/pid/pagemap read spans a [VMA, an unmapped region, then a > VM_SOFTDIRTY VMA], the virtual pages in the unmapped region are reported > as softdirty. Here's a program to demonstrate the bug: > > int main() { > const uint64_

[PATCH] mm: softdirty: unmapped addresses between VMAs are clean

2014-09-10 Thread Peter Feiner
If a /proc/pid/pagemap read spans a [VMA, an unmapped region, then a VM_SOFTDIRTY VMA], the virtual pages in the unmapped region are reported as softdirty. Here's a program to demonstrate the bug: int main() { const uint64_t PAGEMAP_SOFTDIRTY = 1ul << 55; uint64_t pme[3]; i