Thread (46 messages) 46 messages, 6 authors, 2019-06-25

Re: [PATCH 16/16] mm: pass get_user_pages_fast iterator arguments in a structure

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2019-06-20 17:22:08
Also in: linux-mips, linux-sh, linuxppc-dev, lkml, sparclinux

On Thu, Jun 20, 2019 at 5:19 AM Nicholas Piggin [off-list ref] wrote:
The processor aliasing problem happens because the struct will
be initialised with stores using one base register (e.g., stack
register), and then same memory is loaded using a different
register (e.g., parameter register).
Hmm. Honestly, I've never seen anything like that in any kernel profiles.

Compared to the problems I _do_ see (which is usually the obvious
cache misses, and locking), it must either be in the noise or it's
some problem specific to whatever CPU you are doing performance work
on?

I've occasionally seen pipeline hiccups in profiles, but it's usually
been either some serious glass jaw of the core, or it's been something
really stupid we did (or occasionally that the compiler did: one in
particular I remember was how there was a time when gcc would narrow
stores when it could, so if you set a bit in a word, it would do it
with a byte store, and then when you read the whole word afterwards
you'd get a major pipeline stall and it happened to show up in some
really hot paths).

            Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help