From: Anshuman Khandual <khandual@linux.vnet.ibm.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org,
"Aneesh Kumar K . V" <aneesh.kumar@linux.vnet.ibm.com>
Subject: Re: [RFC PATCH 0/7] powerpc/64s/radix TLB flush performance improvements
Date: Thu, 2 Nov 2017 08:49:49 +0530 [thread overview]
Message-ID: <e8aa154c-35ef-bb47-a180-463315cfee86@linux.vnet.ibm.com> (raw)
In-Reply-To: <20171102003956.6cbeded3@roar.ozlabs.ibm.com>
On 11/01/2017 07:09 PM, Nicholas Piggin wrote:
> On Wed, 1 Nov 2017 17:35:51 +0530
> Anshuman Khandual <khandual@linux.vnet.ibm.com> wrote:
>
>> On 10/31/2017 12:14 PM, Nicholas Piggin wrote:
>>> Here's a random mix of performance improvements for radix TLB flushing
>>> code. The main aims are to reduce the amount of translation that gets
>>> invalidated, and to reduce global flushes where we can do local.
>>>
>>> To that end, a parallel kernel compile benchmark using powerpc:tlbie
>>> tracepoint shows a reduction in tlbie instructions from about 290,000
>>> to 80,000, and a reduction in tlbiel instructions from 49,500,000 to
>>> 15,000,000. Looks great, but unfortunately does not translate to a
>>> statistically significant performance improvement! The needle on TLB
>>> misses does not move much, I suspect because a lot of the flushing is
>>> done a startup and shutdown, and because a significant cost of TLB
>>> flushing itself is in the barriers.
>>
>> Does memory barrier initiate a single global invalidation with tlbie ?
>>
>
> I'm not quite sure what you're asking, and I don't know the details
> of how the hardware handles it, but from the measurements in patch
> 1 of the series we can see there is a benefit for both tlbie and
> tlbiel of batching them up between barriers.
Ahh, I might have got the statement "a significant cost of TLB flushing
itself is in the barriers" wrong. I guess you were mentioning about the
total cost of multiple TLB flushes with memory barriers in between each
of them which is causing the high execution cost. This got reduced by
packing multiple tlbie(l) instruction between a single memory barrier.
next prev parent reply other threads:[~2017-11-02 3:19 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-31 6:44 [RFC PATCH 0/7] powerpc/64s/radix TLB flush performance improvements Nicholas Piggin
2017-10-31 6:44 ` [RFC PATCH 1/7] powerpc/64s/radix: optimize TLB range flush barriers Nicholas Piggin
2017-10-31 6:44 ` [RFC PATCH 2/7] powerpc/64s/radix: Implement _tlbie(l)_va_range flush functions Nicholas Piggin
2017-10-31 6:45 ` [RFC PATCH 3/7] powerpc/64s/radix: Optimize flush_tlb_range Nicholas Piggin
2017-10-31 6:45 ` [RFC PATCH 4/7] powerpc/64s/radix: Introduce local single page ceiling for TLB range flush Nicholas Piggin
2017-10-31 6:45 ` [RFC PATCH 5/7] powerpc/64s/radix: Improve TLB flushing for page table freeing Nicholas Piggin
2017-11-01 12:05 ` [RFC PATCH 0/7] powerpc/64s/radix TLB flush performance improvements Anshuman Khandual
2017-11-01 13:39 ` Nicholas Piggin
2017-11-02 3:19 ` Anshuman Khandual [this message]
2017-11-02 3:27 ` Nicholas Piggin
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=e8aa154c-35ef-bb47-a180-463315cfee86@linux.vnet.ibm.com \
--to=khandual@linux.vnet.ibm.com \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).