From: Andrea Arcangeli <aarcange@redhat.com>
To: Andi Kleen <ak@linux.intel.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-mm@kvack.org, "H. Peter Anvin" <hpa@linux.intel.com>,
linux-kernel@vger.kernel.org,
"Kirill A. Shutemov" <kirill@shutemov.name>,
Arnd Bergmann <arnd@arndb.de>, Ingo Molnar <mingo@kernel.org>,
linux-arch@vger.kernel.org
Subject: Re: [PATCH 0/3] Virtual huge zero page
Date: Sat, 29 Sep 2012 16:37:37 +0200 [thread overview]
Message-ID: <20120929143737.GF26989@redhat.com> (raw)
In-Reply-To: <20120929143006.GC4110@tassilo.jf.intel.com>
On Sat, Sep 29, 2012 at 07:30:06AM -0700, Andi Kleen wrote:
> On Sat, Sep 29, 2012 at 03:48:11PM +0200, Andrea Arcangeli wrote:
> > On Sat, Sep 29, 2012 at 02:37:18AM +0300, Kirill A. Shutemov wrote:
> > > Cons:
> > > - increases TLB pressure;
> >
> > I generally don't like using 4k tlb entries ever. This only has the
>
> From theory I would also prefer the 2MB huge page.
>
> But some numbers comparing between the two alternatives are definitely
> interesting. Numbers are often better than theory.
Sure good idea, just all standard benchmarks likely aren't using zero
pages so I suggest a basic micro benchmark:
some loop of() {
memcmp(uninitalized_pointer, (char *)uninitialized_pointer+4G, 4G)
barrier();
}
>
> > There would be a small cache benefit here... but even then some first
> > level caches are virtually indexed IIRC (always physically tagged to
>
> Modern x86 doesn't have virtually indexed caches.
With the above memcmp, I'm quite sure the previous patch will beat the
new one by a wide margin, especially on modern x86 with more 2M TLB
entries and >= 8MB L2 caches.
But I agree we need to verify it before taking a decision, and that
the numbers are better than theory, or to rephrase it "let's check the
theory is right" :)
--
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: Andrea Arcangeli <aarcange@redhat.com>
To: Andi Kleen <ak@linux.intel.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-mm@kvack.org, "H. Peter Anvin" <hpa@linux.intel.com>,
linux-kernel@vger.kernel.org,
"Kirill A. Shutemov" <kirill@shutemov.name>,
Arnd Bergmann <arnd@arndb.de>, Ingo Molnar <mingo@kernel.org>,
linux-arch@vger.kernel.org
Subject: Re: [PATCH 0/3] Virtual huge zero page
Date: Sat, 29 Sep 2012 16:37:37 +0200 [thread overview]
Message-ID: <20120929143737.GF26989@redhat.com> (raw)
Message-ID: <20120929143737.eeKw8SsfpVU3ymfVJbupl6Ii3vrMXfBsZ78YGKodkRM@z> (raw)
In-Reply-To: <20120929143006.GC4110@tassilo.jf.intel.com>
On Sat, Sep 29, 2012 at 07:30:06AM -0700, Andi Kleen wrote:
> On Sat, Sep 29, 2012 at 03:48:11PM +0200, Andrea Arcangeli wrote:
> > On Sat, Sep 29, 2012 at 02:37:18AM +0300, Kirill A. Shutemov wrote:
> > > Cons:
> > > - increases TLB pressure;
> >
> > I generally don't like using 4k tlb entries ever. This only has the
>
> From theory I would also prefer the 2MB huge page.
>
> But some numbers comparing between the two alternatives are definitely
> interesting. Numbers are often better than theory.
Sure good idea, just all standard benchmarks likely aren't using zero
pages so I suggest a basic micro benchmark:
some loop of() {
memcmp(uninitalized_pointer, (char *)uninitialized_pointer+4G, 4G)
barrier();
}
>
> > There would be a small cache benefit here... but even then some first
> > level caches are virtually indexed IIRC (always physically tagged to
>
> Modern x86 doesn't have virtually indexed caches.
With the above memcmp, I'm quite sure the previous patch will beat the
new one by a wide margin, especially on modern x86 with more 2M TLB
entries and >= 8MB L2 caches.
But I agree we need to verify it before taking a decision, and that
the numbers are better than theory, or to rephrase it "let's check the
theory is right" :)
next prev parent reply other threads:[~2012-09-29 14:37 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-28 23:37 [PATCH 0/3] Virtual huge zero page Kirill A. Shutemov
2012-09-28 23:37 ` Kirill A. Shutemov
2012-09-28 23:37 ` [PATCH 1/3] asm-generic: introduce pmd_special() and pmd_mkspecial() Kirill A. Shutemov
2012-09-28 23:37 ` Kirill A. Shutemov
2012-09-28 23:37 ` [PATCH 2/3] mm, thp: implement virtual huge zero page Kirill A. Shutemov
2012-09-28 23:37 ` Kirill A. Shutemov
2012-09-28 23:37 ` [PATCH 3/3] x86: implement HAVE_PMD_SPECAIL Kirill A. Shutemov
2012-09-28 23:37 ` Kirill A. Shutemov
2012-09-29 13:48 ` [PATCH 0/3] Virtual huge zero page Andrea Arcangeli
2012-09-29 13:48 ` Andrea Arcangeli
2012-09-29 14:30 ` Andi Kleen
2012-09-29 14:30 ` Andi Kleen
2012-09-29 14:30 ` Andi Kleen
2012-09-29 14:37 ` Andrea Arcangeli [this message]
2012-09-29 14:37 ` Andrea Arcangeli
2012-10-01 13:49 ` Kirill A. Shutemov
2012-10-01 16:14 ` Andrea Arcangeli
2012-10-01 16:14 ` Andrea Arcangeli
2012-10-01 17:18 ` Kirill A. Shutemov
2012-10-01 17:18 ` Kirill A. Shutemov
2012-10-01 15:34 ` H. Peter Anvin
2012-10-01 15:34 ` H. Peter Anvin
2012-10-01 16:31 ` Andrea Arcangeli
2012-10-01 16:31 ` Andrea Arcangeli
2012-10-01 17:03 ` H. Peter Anvin
2012-10-01 17:03 ` H. Peter Anvin
2012-10-01 17:15 ` Kirill A. Shutemov
2012-10-01 17:15 ` Kirill A. Shutemov
2012-10-01 18:03 ` Andrea Arcangeli
2012-10-01 18:03 ` Andrea Arcangeli
2012-10-01 17:26 ` Andrea Arcangeli
2012-10-01 17:26 ` Andrea Arcangeli
2012-10-01 17:33 ` H. Peter Anvin
2012-10-01 17:33 ` H. Peter Anvin
2012-10-01 17:36 ` Kirill A. Shutemov
2012-10-01 17:36 ` Kirill A. Shutemov
2012-10-01 17:37 ` H. Peter Anvin
2012-10-01 17:37 ` H. Peter Anvin
2012-10-01 17:44 ` Kirill A. Shutemov
2012-10-01 17:44 ` Kirill A. Shutemov
2012-10-01 17:52 ` H. Peter Anvin
2012-10-01 17:52 ` H. Peter Anvin
2012-10-01 18:56 ` Kirill A. Shutemov
2012-10-01 18:56 ` Kirill A. Shutemov
2012-10-01 18:05 ` Andrea Arcangeli
2012-10-01 18:05 ` 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=20120929143737.GF26989@redhat.com \
--to=aarcange@redhat.com \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=hpa@linux.intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kirill@shutemov.name \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@kernel.org \
/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.