From: David Howells <dhowells@redhat.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: dhowells@redhat.com, Linux Memory Management <linux-mm@kvack.org>,
Linux-Arch <linux-arch@vger.kernel.org>,
linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
Hugh Dickins <hugh@tiscali.co.uk>, Nick Piggin <npiggin@suse.de>
Subject: Re: [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
Date: Mon, 20 Jul 2009 13:46:03 +0100 [thread overview]
Message-ID: <13548.1248093963@redhat.com> (raw)
In-Reply-To: <20090715074952.A36C7DDDB2@ozlabs.org>
Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> Upcoming paches to support the new 64-bit "BookE" powerpc architecture
> will need to have the virtual address corresponding to PTE page when
> freeing it, due to the way the HW table walker works.
>
> Basically, the TLB can be loaded with "large" pages that cover the whole
> virtual space (well, sort-of, half of it actually) represented by a PTE
> page, and which contain an "indirect" bit indicating that this TLB entry
> RPN points to an array of PTEs from which the TLB can then create direct
> entries. Thus, in order to invalidate those when PTE pages are deleted,
> we need the virtual address to pass to tlbilx or tlbivax instructions.
>
> The old trick of sticking it somewhere in the PTE page struct page sucks
> too much, the address is almost readily available in all call sites and
> almost everybody implemets these as macros, so we may as well add the
> argument everywhere. I added it to the pmd and pud variants for consistency.
>
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: David Howells <dhowells@redhat.com> [MN10300 & FRV]
--
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: David Howells <dhowells@redhat.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: dhowells@redhat.com, Linux Memory Management <linux-mm@kvack.org>,
Linux-Arch <linux-arch@vger.kernel.org>,
linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
Hugh Dickins <hugh@tiscali.co.uk>, Nick Piggin <npiggin@suse.de>
Subject: Re: [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
Date: Mon, 20 Jul 2009 13:46:03 +0100 [thread overview]
Message-ID: <13548.1248093963@redhat.com> (raw)
Message-ID: <20090720124603.5obCBMAMPzGcVeDh7AlNfMAFl8nWcc7RPLsCDcdiklM@z> (raw)
In-Reply-To: <20090715074952.A36C7DDDB2@ozlabs.org>
Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> Upcoming paches to support the new 64-bit "BookE" powerpc architecture
> will need to have the virtual address corresponding to PTE page when
> freeing it, due to the way the HW table walker works.
>
> Basically, the TLB can be loaded with "large" pages that cover the whole
> virtual space (well, sort-of, half of it actually) represented by a PTE
> page, and which contain an "indirect" bit indicating that this TLB entry
> RPN points to an array of PTEs from which the TLB can then create direct
> entries. Thus, in order to invalidate those when PTE pages are deleted,
> we need the virtual address to pass to tlbilx or tlbivax instructions.
>
> The old trick of sticking it somewhere in the PTE page struct page sucks
> too much, the address is almost readily available in all call sites and
> almost everybody implemets these as macros, so we may as well add the
> argument everywhere. I added it to the pmd and pud variants for consistency.
>
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: David Howells <dhowells@redhat.com> [MN10300 & FRV]
WARNING: multiple messages have this Message-ID (diff)
From: David Howells <dhowells@redhat.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Linux-Arch <linux-arch@vger.kernel.org>,
Nick Piggin <npiggin@suse.de>,
linuxppc-dev@ozlabs.org, Hugh Dickins <hugh@tiscali.co.uk>,
linux-kernel@vger.kernel.org,
Linux Memory Management <linux-mm@kvack.org>
Subject: Re: [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb()
Date: Mon, 20 Jul 2009 13:46:03 +0100 [thread overview]
Message-ID: <13548.1248093963@redhat.com> (raw)
In-Reply-To: <20090715074952.A36C7DDDB2@ozlabs.org>
Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> Upcoming paches to support the new 64-bit "BookE" powerpc architecture
> will need to have the virtual address corresponding to PTE page when
> freeing it, due to the way the HW table walker works.
>
> Basically, the TLB can be loaded with "large" pages that cover the whole
> virtual space (well, sort-of, half of it actually) represented by a PTE
> page, and which contain an "indirect" bit indicating that this TLB entry
> RPN points to an array of PTEs from which the TLB can then create direct
> entries. Thus, in order to invalidate those when PTE pages are deleted,
> we need the virtual address to pass to tlbilx or tlbivax instructions.
>
> The old trick of sticking it somewhere in the PTE page struct page sucks
> too much, the address is almost readily available in all call sites and
> almost everybody implemets these as macros, so we may as well add the
> argument everywhere. I added it to the pmd and pud variants for consistency.
>
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: David Howells <dhowells@redhat.com> [MN10300 & FRV]
next prev parent reply other threads:[~2009-07-20 12:46 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-15 7:49 [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Benjamin Herrenschmidt
2009-07-15 7:49 ` Benjamin Herrenschmidt
2009-07-15 7:49 ` Benjamin Herrenschmidt
2009-07-15 7:49 ` Benjamin Herrenschmidt
2009-07-15 13:56 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb() Nick Piggin
2009-07-15 13:56 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Nick Piggin
2009-07-15 13:56 ` Nick Piggin
2009-07-16 1:54 ` Benjamin Herrenschmidt
2009-07-16 1:54 ` Benjamin Herrenschmidt
2009-07-16 1:54 ` Benjamin Herrenschmidt
2009-07-20 8:10 ` Nick Piggin
2009-07-20 8:10 ` Nick Piggin
2009-07-20 8:10 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb() Nick Piggin
2009-07-20 10:00 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Benjamin Herrenschmidt
2009-07-20 10:00 ` Benjamin Herrenschmidt
2009-07-20 10:00 ` Benjamin Herrenschmidt
2009-07-20 10:38 ` Nick Piggin
2009-07-20 10:38 ` Nick Piggin
2009-07-20 10:38 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb() Nick Piggin
2009-07-21 0:02 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Benjamin Herrenschmidt
2009-07-21 0:02 ` Benjamin Herrenschmidt
2009-07-21 0:02 ` Benjamin Herrenschmidt
2009-07-21 7:05 ` Nick Piggin
2009-07-21 7:05 ` Nick Piggin
2009-07-21 7:05 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb() Nick Piggin
2009-07-20 7:11 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Benjamin Herrenschmidt
2009-07-20 7:11 ` Benjamin Herrenschmidt
2009-07-20 7:11 ` Benjamin Herrenschmidt
2009-07-20 7:48 ` Martin Schwidefsky
2009-07-20 7:48 ` Martin Schwidefsky
2009-07-20 7:48 ` Martin Schwidefsky
2009-07-20 8:05 ` Nick Piggin
2009-07-20 8:05 ` Nick Piggin
2009-07-20 8:05 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb() Nick Piggin
2009-07-20 9:59 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Benjamin Herrenschmidt
2009-07-20 9:59 ` Benjamin Herrenschmidt
2009-07-20 9:59 ` Benjamin Herrenschmidt
2009-07-20 10:39 ` Nick Piggin
2009-07-20 10:39 ` Nick Piggin
2009-07-20 10:39 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb() Nick Piggin
2009-07-22 16:31 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Linus Torvalds
2009-07-22 16:31 ` Linus Torvalds
2009-07-22 16:31 ` Linus Torvalds
2009-07-23 0:53 ` Benjamin Herrenschmidt
2009-07-23 0:53 ` Benjamin Herrenschmidt
2009-07-23 0:53 ` Benjamin Herrenschmidt
2009-07-23 0:59 ` Kumar Gala
2009-07-23 0:59 ` Kumar Gala
2009-07-23 0:59 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb() Kumar Gala
2009-07-27 19:11 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Linus Torvalds
2009-07-27 19:11 ` Linus Torvalds
2009-07-27 19:11 ` Linus Torvalds
2009-07-27 21:35 ` Benjamin Herrenschmidt
2009-07-27 21:35 ` Benjamin Herrenschmidt
2009-07-27 21:35 ` Benjamin Herrenschmidt
2009-07-28 0:17 ` Benjamin Herrenschmidt
2009-07-28 0:17 ` Benjamin Herrenschmidt
2009-07-28 0:17 ` Benjamin Herrenschmidt
2009-07-28 0:17 ` Benjamin Herrenschmidt
2009-07-28 0:17 ` Benjamin Herrenschmidt
2009-07-28 0:25 ` Paul Mundt
2009-07-28 0:25 ` Paul Mundt
2009-07-28 0:25 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb() Paul Mundt
2009-07-28 0:41 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Linus Torvalds
2009-07-28 0:41 ` Linus Torvalds
2009-07-28 0:41 ` Linus Torvalds
2009-07-16 1:36 ` Michael Ellerman
2009-07-16 1:36 ` Michael Ellerman
2009-07-16 1:56 ` Benjamin Herrenschmidt
2009-07-16 1:56 ` Benjamin Herrenschmidt
2009-07-16 1:56 ` Benjamin Herrenschmidt
2009-07-20 12:46 ` David Howells [this message]
2009-07-20 12:46 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te, ud, md}_free_tlb() David Howells
2009-07-20 12:46 ` [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() David Howells
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=13548.1248093963@redhat.com \
--to=dhowells@redhat.com \
--cc=benh@kernel.crashing.org \
--cc=hugh@tiscali.co.uk \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=npiggin@suse.de \
/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.