From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
paulus@samba.org, mpe@ellerman.id.au
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 18/31] powerpc/mm: Increase the pte frag size.
Date: Mon, 21 Sep 2015 21:06:18 +1000 [thread overview]
Message-ID: <1442833578.11901.2.camel@kernel.crashing.org> (raw)
In-Reply-To: <87mvwgduuj.fsf@linux.vnet.ibm.com>
On Mon, 2015-09-21 at 14:15 +0530, Aneesh Kumar K.V wrote:
> Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
>
> > On Mon, 2015-09-21 at 12:10 +0530, Aneesh Kumar K.V wrote:
> > > /*
> > > - * We use a 2K PTE page fragment and another 2K for storing
> > > - * real_pte_t hash index
> > > + * We use a 2K PTE page fragment and another 4K for storing
> > > + * real_pte_t hash index. Rounding the entire thing to 8K
> > > */
> >
> > Isn't this a LOT of memory wasted ? Page tables have a non
> > -negligible
> > footprint, we were already wasting half, now we are wasting 3/4 no
> > ?
> >
>
> The actual math is, we used to allocate 16 PTE page from a 64K page
> before. We now do 8 pte page from a 64K linux page.
Really ? I remember we were allocating exactly twice more, ie a 64K PTE
page was made of 32K of PTEs and 32K of extensions. I might not be
properly parsing either your above sentence or your comment, the way
you spell it it sounds like you are allocating now even more ...
> > Ie, in most cases on modern machines we never use the other
> > "half"...
> >
>
> That is true. We will use this only when we use 4K subpage. But I am
> not sure there is a better solution. Also, we should find this
> slightly
> imporve our contention on ptl lock. With SPLIT_PTLOCK we now have
> less
> number of pte page using the same spin lock.
You keep talking about "number of pte page" ... not sure what that
actually means.
In any case, shouldn't we consider something more like what we do for
subpage protection and just segregate the 4k stuff in a completely
separate tree which we can allocate on-demand so that we don't allocate
any of it if there is no demotion ?
Cheers,
Ben.
> -aneesh
next prev parent reply other threads:[~2015-09-21 11:06 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-21 6:40 [PATCH 00/31] powerpc/mm: Update page table format for book3s 64 Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 01/31] powerpc/mm: move pte headers to book3s directory Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 02/31] powerpc/mm: move pte headers to book3s directory (part 2) Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 03/31] powerpc/mm: make a separate copy for book3s Aneesh Kumar K.V
2015-09-21 21:58 ` Scott Wood
2015-09-22 6:42 ` Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 04/31] powerpc/mm: make a separate copy for book3s (part 2) Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 05/31] powerpc/mm: Move hash specific pte width and other defines to book3s Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 06/31] powerpc/mm: Delete booke bits from book3s Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 07/31] powerpc/mm: Don't have generic headers introduce functions touching pte bits Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 08/31] powerpc/mm: Drop pte-common.h from BOOK3S 64 Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 09/31] powerpc/mm: Don't use pte_val as lvalue Aneesh Kumar K.V
2015-09-22 2:22 ` Scott Wood
2015-09-22 6:44 ` Aneesh Kumar K.V
2015-09-22 6:46 ` Scott Wood
2015-09-21 6:40 ` [PATCH 10/31] powerpc/mm: Don't use pmd_val, pud_val and pgd_val " Aneesh Kumar K.V
2015-09-22 2:23 ` Scott Wood
2015-09-22 6:45 ` Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 11/31] powerpc/mm: Move hash64 PTE bits from book3s/64/pgtable.h to hash.h Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 12/31] powerpc/mm: Move PTE bits from generic functions to hash64 functions Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 13/31] powerpc/booke: Move booke headers (part 1) Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 14/31] powerpc/booke: Move booke headers (part 2) Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 15/31] powerpc/booke: Move booke headers (part 3) Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 16/31] powerpc/booke: Move booke headers (part 4) Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 17/31] powerpc/booke: Move booke headers (part 5) Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 18/31] powerpc/mm: Increase the pte frag size Aneesh Kumar K.V
2015-09-21 8:14 ` Benjamin Herrenschmidt
2015-09-21 8:45 ` Aneesh Kumar K.V
2015-09-21 11:06 ` Benjamin Herrenschmidt [this message]
2015-09-21 11:53 ` Aneesh Kumar K.V
2015-09-23 21:37 ` Benjamin Herrenschmidt
2015-09-28 4:55 ` Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 19/31] powerpc/mm: Convert 4k hash insert to C Aneesh Kumar K.V
2015-09-21 8:16 ` Benjamin Herrenschmidt
2015-09-21 8:57 ` Aneesh Kumar K.V
2015-09-29 8:13 ` Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 20/31] powerpc/mm: update __real_pte to take address as argument Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 21/31] powerpc/mm: make pte page hash index slot 8 bits Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 22/31] powerpc/mm: Don't track subpage valid bit in pte_t Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 23/31] powerpc/mm: Increase the width of #define Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 24/31] powerpc/mm: Convert __hash_page_64K to C Aneesh Kumar K.V
2015-09-23 13:56 ` Anshuman Khandual
2015-09-28 4:58 ` Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 25/31] powerpc/mm: Convert 4k insert from asm " Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 26/31] powerpc/mm: Remove the dependency on pte bit position in asm code Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 27/31] powerpc/mm: Add helper for converting pte bit to hpte bits Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 28/31] powerpc/mm: Move WIMG update to helper Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 29/31] powerpc/mm: Move hugetlb related headers Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 30/31] powerpc/mm: Move THP headers around Aneesh Kumar K.V
2015-09-21 6:40 ` [PATCH 31/31] powerpc/mm: Add a _PAGE_PTE bit Aneesh Kumar K.V
2015-09-21 21:48 ` [PATCH 00/31] powerpc/mm: Update page table format for book3s 64 Scott Wood
2015-09-22 6:48 ` Aneesh Kumar K.V
2015-09-22 6:57 ` Scott Wood
2015-09-28 4:56 ` Aneesh Kumar K.V
2015-09-28 16:41 ` Scott Wood
2015-09-30 1:44 ` Michael Ellerman
2015-09-29 0:12 ` Benjamin Herrenschmidt
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=1442833578.11901.2.camel@kernel.crashing.org \
--to=benh@kernel.crashing.org \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.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 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).