On Wed, 7 May 2014, Andrew Morton wrote:

> > Memory compaction works by having a "freeing scanner" scan from one end of 
> > a 
> > zone which isolates pages as migration targets while another "migrating 
> > scanner" 
> > scans from the other end of the same zone which isolates pages for 
> > migration.
> > 
> > When page migration fails for an isolated page, the target page is returned 
> > to 
> > the system rather than the freelist built by the freeing scanner.  This may 
> > require the freeing scanner to continue scanning memory after suitable 
> > migration 
> > targets have already been returned to the system needlessly.
> > 
> > This patch returns destination pages to the freeing scanner freelist when 
> > page 
> > migration fails.  This prevents unnecessary work done by the freeing 
> > scanner but 
> > also encourages memory to be as compacted as possible at the end of the 
> > zone.
> > 
> > Reported-by: Greg Thelen <gthe...@google.com>
> 
> What did Greg actually report?  IOW, what if any observable problem is
> being fixed here?
> 

Greg reported by code inspection that he found isolated free pages were 
returned back to the VM rather than the compaction freelist.  This will 
cause holes behind the free scanner and cause it to reallocate additional 
memory if necessary later.
--
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/

Reply via email to