All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlastimil Babka <vbabka@suse.cz>
To: Ebru Akagunduz <ebru.akagunduz@gmail.com>, linux-mm@kvack.org
Cc: akpm@linux-foundation.org, kirill@shutemov.name, mhocko@suse.cz,
	mgorman@suse.de, rientjes@google.com, sasha.levin@oracle.com,
	hughd@google.com, hannes@cmpxchg.org,
	linux-kernel@vger.kernel.org, riel@redhat.com,
	aarcange@redhat.com
Subject: Re: [PATCH v2] mm: incorporate zero pages into transparent huge pages
Date: Mon, 16 Feb 2015 12:50:15 +0100	[thread overview]
Message-ID: <54E1D977.30004@suse.cz> (raw)
In-Reply-To: <1423688635-4306-1-git-send-email-ebru.akagunduz@gmail.com>

On 02/11/2015 10:03 PM, Ebru Akagunduz wrote:
> This patch improves THP collapse rates, by allowing zero pages.
> 
> Currently THP can collapse 4kB pages into a THP when there
> are up to khugepaged_max_ptes_none pte_none ptes in a 2MB
> range.  This patch counts pte none and mapped zero pages
> with the same variable.
> 
> The patch was tested with a program that allocates 800MB of
> memory, and performs interleaved reads and writes, in a pattern
> that causes some 2MB areas to first see read accesses, resulting
> in the zero pfn being mapped there.
> 
> To simulate memory fragmentation at allocation time, I modified
> do_huge_pmd_anonymous_page to return VM_FAULT_FALLBACK for read
> faults.
> 
> Without the patch, only %50 of the program was collapsed into
> THP and the percentage did not increase over time.
> 
> With this patch after 10 minutes of waiting khugepaged had
> collapsed %99 of the program's memory.
> 
> Signed-off-by: Ebru Akagunduz <ebru.akagunduz@gmail.com>
> Reviewed-by: Rik van Riel <riel@redhat.com>

Acked-by: Vlastimil Babka <vbabka@suse.cz>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Vlastimil Babka <vbabka@suse.cz>
To: Ebru Akagunduz <ebru.akagunduz@gmail.com>, linux-mm@kvack.org
Cc: akpm@linux-foundation.org, kirill@shutemov.name, mhocko@suse.cz,
	mgorman@suse.de, rientjes@google.com, sasha.levin@oracle.com,
	hughd@google.com, hannes@cmpxchg.org,
	linux-kernel@vger.kernel.org, riel@redhat.com,
	aarcange@redhat.com
Subject: Re: [PATCH v2] mm: incorporate zero pages into transparent huge pages
Date: Mon, 16 Feb 2015 12:50:15 +0100	[thread overview]
Message-ID: <54E1D977.30004@suse.cz> (raw)
In-Reply-To: <1423688635-4306-1-git-send-email-ebru.akagunduz@gmail.com>

On 02/11/2015 10:03 PM, Ebru Akagunduz wrote:
> This patch improves THP collapse rates, by allowing zero pages.
> 
> Currently THP can collapse 4kB pages into a THP when there
> are up to khugepaged_max_ptes_none pte_none ptes in a 2MB
> range.  This patch counts pte none and mapped zero pages
> with the same variable.
> 
> The patch was tested with a program that allocates 800MB of
> memory, and performs interleaved reads and writes, in a pattern
> that causes some 2MB areas to first see read accesses, resulting
> in the zero pfn being mapped there.
> 
> To simulate memory fragmentation at allocation time, I modified
> do_huge_pmd_anonymous_page to return VM_FAULT_FALLBACK for read
> faults.
> 
> Without the patch, only %50 of the program was collapsed into
> THP and the percentage did not increase over time.
> 
> With this patch after 10 minutes of waiting khugepaged had
> collapsed %99 of the program's memory.
> 
> Signed-off-by: Ebru Akagunduz <ebru.akagunduz@gmail.com>
> Reviewed-by: Rik van Riel <riel@redhat.com>

Acked-by: Vlastimil Babka <vbabka@suse.cz>


  parent reply	other threads:[~2015-02-16 11:50 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-11 21:03 [PATCH v2] mm: incorporate zero pages into transparent huge pages Ebru Akagunduz
2015-02-11 21:03 ` Ebru Akagunduz
2015-02-11 22:16 ` Andrea Arcangeli
2015-02-11 22:16   ` Andrea Arcangeli
2015-02-11 22:21   ` Kirill A. Shutemov
2015-02-11 22:21     ` Kirill A. Shutemov
2015-02-11 22:33     ` Andrea Arcangeli
2015-02-11 22:33       ` Andrea Arcangeli
2015-02-16 11:50 ` Vlastimil Babka [this message]
2015-02-16 11:50   ` Vlastimil Babka
2015-02-18 23:31 ` Andrew Morton
2015-02-18 23:31   ` Andrew Morton
2015-02-19  0:08   ` Rik van Riel
2015-02-19  0:08     ` Rik van Riel
2015-02-19  8:25     ` Vlastimil Babka
2015-02-19  8:25       ` Vlastimil Babka
2015-02-23 19:16     ` Andrew Morton
2015-02-23 19:16       ` Andrew Morton
2015-02-23 19:43       ` Rik van Riel
2015-02-23 19:43         ` Rik van Riel
2015-02-23 21:45         ` Vlastimil Babka
2015-02-23 21:45           ` Vlastimil Babka
2015-02-20 18:02   ` Andrea Arcangeli
2015-02-20 18:02     ` Andrea Arcangeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54E1D977.30004@suse.cz \
    --to=vbabka@suse.cz \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=ebru.akagunduz@gmail.com \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=kirill@shutemov.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.cz \
    --cc=riel@redhat.com \
    --cc=rientjes@google.com \
    --cc=sasha.levin@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.