All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Mark Langsdorf <mlangsdo@redhat.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Linux 3.19-rc3
Date: Sat, 10 Jan 2015 13:48:10 -0800	[thread overview]
Message-ID: <CA+55aFy4v3zOQDS62ECDD-WtjbbzdFxGOT1tNSuGy5ChzM4JGg@mail.gmail.com> (raw)
In-Reply-To: <10028397.kdbz8TfPck@wuerfel>

On Sat, Jan 10, 2015 at 1:36 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>>
>>  (d) the powerpc TLB fill/buildup/teardown costs are horrible, so on
>> AIX the cost of lots of small pages is much higher too.
>
> I think (d) applies to ARM as well, since it has no hardware
> dirty/referenced bit tracking and requires the OS to mark the
> pages as invalid/readonly until the first access. ARMv8.1
> has a fix for that, but it's optional and we haven't seen any
> implementations yet.

Powerpc really makes things worse by having those hashed page tables
that (a) have bad locality and (b) have to be built up and torn down
in software. I don't think ARM ends up coming close, even with the
issues it has.

Now, it's definitely true that the x86 page table handling hadrware
tends to just be superior. Both Intel and AMD had to work really hard
on it, because Windows (in the pre-NT days) used to flush the TLB
absolutely _all_ the time.  So x86 hardware really does tend to do
very well on this.

ARM simply doesn't have the same kind of history. TLB issues seldom
show up very much on simple benchmarks or on smaller loads. It's one
of those things that tends to take a couple of generations.

[ Or, sadly, _much_ more, because some hardware designers never get
the memo, and continue to blame software and say "you should use big
pages", because they don't see the problems ]

Of course, it's entirely possible that vendors like AMD coudl transfer
their TLB handling know-how to their ARM64 cores. I have no visibility
into that, maybe some people here do..

                      Linus

WARNING: multiple messages have this Message-ID (diff)
From: torvalds@linux-foundation.org (Linus Torvalds)
To: linux-arm-kernel@lists.infradead.org
Subject: Linux 3.19-rc3
Date: Sat, 10 Jan 2015 13:48:10 -0800	[thread overview]
Message-ID: <CA+55aFy4v3zOQDS62ECDD-WtjbbzdFxGOT1tNSuGy5ChzM4JGg@mail.gmail.com> (raw)
In-Reply-To: <10028397.kdbz8TfPck@wuerfel>

On Sat, Jan 10, 2015 at 1:36 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>>
>>  (d) the powerpc TLB fill/buildup/teardown costs are horrible, so on
>> AIX the cost of lots of small pages is much higher too.
>
> I think (d) applies to ARM as well, since it has no hardware
> dirty/referenced bit tracking and requires the OS to mark the
> pages as invalid/readonly until the first access. ARMv8.1
> has a fix for that, but it's optional and we haven't seen any
> implementations yet.

Powerpc really makes things worse by having those hashed page tables
that (a) have bad locality and (b) have to be built up and torn down
in software. I don't think ARM ends up coming close, even with the
issues it has.

Now, it's definitely true that the x86 page table handling hadrware
tends to just be superior. Both Intel and AMD had to work really hard
on it, because Windows (in the pre-NT days) used to flush the TLB
absolutely _all_ the time.  So x86 hardware really does tend to do
very well on this.

ARM simply doesn't have the same kind of history. TLB issues seldom
show up very much on simple benchmarks or on smaller loads. It's one
of those things that tends to take a couple of generations.

[ Or, sadly, _much_ more, because some hardware designers never get
the memo, and continue to blame software and say "you should use big
pages", because they don't see the problems ]

Of course, it's entirely possible that vendors like AMD coudl transfer
their TLB handling know-how to their ARM64 cores. I have no visibility
into that, maybe some people here do..

                      Linus

  reply	other threads:[~2015-01-10 21:48 UTC|newest]

Thread overview: 154+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-06  1:46 Linux 3.19-rc3 Linus Torvalds
2015-01-06  2:46 ` Dave Jones
2015-01-06  8:18   ` Takashi Iwai
2015-01-06  9:45   ` Jiri Kosina
2015-01-08 12:51 ` Mark Langsdorf
2015-01-08 12:51   ` Mark Langsdorf
2015-01-08 13:45   ` Catalin Marinas
2015-01-08 13:45     ` Catalin Marinas
2015-01-08 17:29     ` Mark Langsdorf
2015-01-08 17:29       ` Mark Langsdorf
2015-01-08 17:34       ` Catalin Marinas
2015-01-08 17:34         ` Catalin Marinas
2015-01-08 18:48         ` Mark Langsdorf
2015-01-08 18:48           ` Mark Langsdorf
2015-01-08 19:21           ` Linus Torvalds
2015-01-08 19:21             ` Linus Torvalds
2015-01-09 23:27             ` Catalin Marinas
2015-01-09 23:27               ` Catalin Marinas
2015-01-10  0:35               ` Kirill A. Shutemov
2015-01-10  0:35                 ` Kirill A. Shutemov
2015-01-10  2:27                 ` Linus Torvalds
2015-01-10  2:27                   ` Linus Torvalds
2015-01-10  2:51                   ` David Lang
2015-01-10  2:51                     ` David Lang
2015-01-10  3:06                     ` Linus Torvalds
2015-01-10  3:06                       ` Linus Torvalds
2015-01-10 10:46                       ` Andreas Mohr
2015-01-10 10:46                         ` Andreas Mohr
2015-01-10 19:42                         ` Linus Torvalds
2015-01-10 19:42                           ` Linus Torvalds
2015-01-13  3:33                     ` Rik van Riel
2015-01-13  3:33                       ` Rik van Riel
2015-01-13 10:28                       ` Catalin Marinas
2015-01-13 10:28                         ` Catalin Marinas
2015-01-10  3:17                   ` Tony Luck
2015-01-10  3:17                     ` Tony Luck
2015-01-10 20:16                   ` Arnd Bergmann
2015-01-10 20:16                     ` Arnd Bergmann
2015-01-10 21:00                     ` Linus Torvalds
2015-01-10 21:00                       ` Linus Torvalds
2015-01-10 21:36                       ` Arnd Bergmann
2015-01-10 21:36                         ` Arnd Bergmann
2015-01-10 21:48                         ` Linus Torvalds [this message]
2015-01-10 21:48                           ` Linus Torvalds
2015-01-12 11:37                         ` Kirill A. Shutemov
2015-01-12 11:37                           ` Kirill A. Shutemov
2015-01-12 12:18                         ` Catalin Marinas
2015-01-12 12:18                           ` Catalin Marinas
2015-01-12 13:57                           ` Arnd Bergmann
2015-01-12 13:57                             ` Arnd Bergmann
2015-01-12 14:23                             ` Catalin Marinas
2015-01-12 14:23                               ` Catalin Marinas
2015-01-12 15:42                               ` Arnd Bergmann
2015-01-12 15:42                                 ` Arnd Bergmann
2015-01-12 11:53                     ` Catalin Marinas
2015-01-12 11:53                       ` Catalin Marinas
2015-01-12 13:15                       ` Arnd Bergmann
2015-01-12 13:15                         ` Arnd Bergmann
2015-01-08 15:08   ` Michal Hocko
2015-01-08 15:08     ` Michal Hocko
2015-01-08 15:08     ` Michal Hocko
2015-01-08 16:37     ` Mark Langsdorf
2015-01-08 16:37       ` Mark Langsdorf
2015-01-08 16:37       ` Mark Langsdorf
2015-01-09 15:56       ` Michal Hocko
2015-01-09 15:56         ` Michal Hocko
2015-01-09 15:56         ` Michal Hocko
2015-01-09 12:13   ` Mark Rutland
2015-01-09 12:13     ` Mark Rutland
2015-01-09 14:19     ` Steve Capper
2015-01-09 14:19       ` Steve Capper
2015-01-09 14:27       ` Mark Langsdorf
2015-01-09 14:27         ` Mark Langsdorf
2015-01-09 17:57         ` Mark Rutland
2015-01-09 17:57           ` Mark Rutland
2015-01-09 18:37           ` Marc Zyngier
2015-01-09 18:37             ` Marc Zyngier
2015-01-09 19:43             ` Will Deacon
2015-01-09 19:43               ` Will Deacon
2015-01-10  3:29               ` Laszlo Ersek
2015-01-10  3:29                 ` Laszlo Ersek
2015-01-10  4:39                 ` Linus Torvalds
2015-01-10  4:39                   ` Linus Torvalds
2015-01-10 13:37                   ` Will Deacon
2015-01-10 13:37                     ` Will Deacon
2015-01-10 19:47                     ` Laszlo Ersek
2015-01-10 19:47                       ` Laszlo Ersek
2015-01-10 19:56                       ` Linus Torvalds
2015-01-10 19:56                         ` Linus Torvalds
2015-01-10 20:08                         ` Laszlo Ersek
2015-01-10 20:08                           ` Laszlo Ersek
2015-01-10 19:51                     ` Linus Torvalds
2015-01-10 19:51                       ` Linus Torvalds
2015-01-12 12:42                       ` Will Deacon
2015-01-12 12:42                         ` Will Deacon
2015-01-12 13:22                         ` Mark Langsdorf
2015-01-12 13:22                           ` Mark Langsdorf
2015-01-12 19:03                         ` Dave Hansen
2015-01-12 19:03                           ` Dave Hansen
2015-01-12 19:06                         ` Linus Torvalds
2015-01-12 19:06                           ` Linus Torvalds
2015-01-12 19:07                           ` Linus Torvalds
2015-01-12 19:07                             ` Linus Torvalds
2015-01-12 19:24                             ` Will Deacon
2015-01-12 19:24                               ` Will Deacon
2015-01-10 15:22                 ` Kyle McMartin
2015-01-10 15:22                   ` Kyle McMartin
2015-01-06  4:49 Sedat Dilek
2015-01-06  9:34 ` Sedat Dilek
2015-01-06  9:56   ` Takashi Iwai
2015-01-06 10:06     ` Sedat Dilek
2015-01-06 10:28       ` Takashi Iwai
2015-01-06 10:31         ` Sedat Dilek
2015-01-06 10:37           ` Takashi Iwai
2015-01-06 10:42             ` Sedat Dilek
2015-01-06  9:59   ` Peter Zijlstra
2015-01-06  9:40 ` Peter Zijlstra
2015-01-06  9:42   ` Sedat Dilek
2015-01-06  9:57     ` Sedat Dilek
2015-01-06 10:06       ` Peter Zijlstra
2015-01-06 10:18         ` Sedat Dilek
2015-01-06 11:01           ` Peter Zijlstra
2015-01-06 11:07             ` Kent Overstreet
2015-01-06 11:25               ` Sedat Dilek
2015-01-06 11:40                 ` Kent Overstreet
2015-01-06 12:51                   ` Sedat Dilek
2015-01-06 11:42               ` Peter Zijlstra
2015-01-06 11:48                 ` Peter Zijlstra
2015-01-06 12:01                   ` Kent Overstreet
2015-01-06 12:20                     ` Peter Zijlstra
2015-01-06 12:45                       ` Kent Overstreet
2015-01-06 12:55                       ` Peter Hurley
2015-01-06 17:38                         ` Paul E. McKenney
2015-01-06 17:58                           ` Peter Hurley
2015-01-06 19:25                             ` Paul E. McKenney
2015-01-06 19:57                               ` Peter Hurley
2015-01-06 20:47                                 ` Paul E. McKenney
2015-01-20  0:30                                   ` Paul E. McKenney
2015-01-20 14:03                                     ` Peter Hurley
2015-02-02 16:11                                       ` Paul E. McKenney
2015-02-02 19:03                                         ` Peter Hurley
2015-02-02 19:33                                           ` Paul E. McKenney
2015-01-06 11:56                 ` Kent Overstreet
2015-01-06 12:16                   ` Peter Zijlstra
2015-01-06 12:43                     ` Kent Overstreet
2015-01-06 13:03                       ` Peter Zijlstra
2015-01-06 13:28                         ` Kent Overstreet
2015-01-13 15:23                           ` Peter Zijlstra
2015-01-06 11:58               ` Peter Zijlstra
2015-01-06 12:18                 ` Kent Overstreet
2015-01-16 16:56               ` Peter Hurley
2015-01-16 17:00                 ` Chris Mason
2015-01-16 18:58                   ` Peter Hurley
2015-01-06 10:29   ` Sedat Dilek

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=CA+55aFy4v3zOQDS62ECDD-WtjbbzdFxGOT1tNSuGy5ChzM4JGg@mail.gmail.com \
    --to=torvalds@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=kirill@shutemov.name \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mlangsdo@redhat.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.