lkml.org 
[lkml]   [2022]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v5 0/6] Add hardware prefetch control driver for A64FX and x86
    From
    On 6/28/22 13:20, Linus Walleij wrote:
    > On Tue, Jun 28, 2022 at 5:47 PM Dave Hansen <dave.hansen@intel.com> wrote:
    >> On 6/27/22 02:36, Linus Walleij wrote:
    >>> The right way to solve this is to make the Linux kernel contain the
    >>> necessary heuristics to identify which tasks and thus cores need this
    >>> to improve efficiency and then apply it automatically.
    >>
    >> I agree in theory. But, I also want a pony in theory.
    >>
    >> Any suggestions for how to do this in the real world?
    >
    > Well if the knobs are exposed to userspace, how do people using
    > these knobs know when to turn them? A profiler? perf? All that
    > data is available to the kernel too.

    They run their fortran app. Change the MSRs. Run it again. See if it
    simulated the nuclear weapon blast any faster or slower. Rinse. Repeat.

    One thing that is missing from the changelog and cover letter here: On
    x86, there's a 'wrmsr(1)' tool. That took pokes at Model Specific
    Registers (MSRs) via the /dev/cpu/X/msr interface. That interface is a
    very, very thinly-veiled wrapper around the WRMSR (WRite MSR) instruction.

    In other words, on x86, our current interface allows userspace programs
    to arbitrarily poke at our most sensitive hardware configuration
    registers. One of the most common reasons users have reported doing
    this (we have pr_warn()ings about it) is controlling the prefetch hardware.

    This interface would take a good chunk of the x86 wrmsr(1) audience and
    convert them over to a less dangerous interface. That's a win on x86.
    We don't even *remotely* have line-of-sight for a generic solution for
    the kernel to figure out a single "best" value for these registers.

    \
     
     \ /
      Last update: 2022-06-28 23:04    [W:4.238 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site