lkml.org 
[lkml]   [2019]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 0/3] gcc-plugins: Introduce stackinit plugin
    On Mon, Jan 28, 2019 at 4:12 PM Alexander Popov <alex.popov@linux.com> wrote:
    >
    > On 23.01.2019 14:03, Kees Cook wrote:
    > > This adds a new plugin "stackinit" that attempts to perform unconditional
    > > initialization of all stack variables
    >
    > Hello Kees! Hello everyone!
    >
    > I was curious about the performance impact of the initialization of all stack
    > variables. So I did a very brief test with this plugin on top of 4.20.5.
    >
    > hackbench on Intel Core i7-4770 showed ~0.7% slowdown.
    > hackbench on Kirin 620 (ARM Cortex-A53 Octa-core 1.2GHz) showed ~1.3% slowdown.

    Thanks for looking at this! I'll be including my hackbench
    measurements for the v2 here in a moment.

    > This test involves the kernel scheduler and allocator. I can't say whether they
    > use stack aggressively. Maybe performance tests of other subsystems (e.g.
    > network subsystem) can show different numbers. Did you try?

    I haven't found a stable network test yet. If someone can find a
    reasonable workload, I'd love to hear about it.

    > I've heard a hypothesis that the initialization of all stack variables would
    > pollute CPU caches, which is critical for some types of computations. Maybe some
    > micro-benchmarks can disprove/confirm that?

    I kind of think micro-benchmarks aren't so useful because they don't
    represent a real-world workload. I've heard people talk about SAP-HANA
    as a good test, but I can't get my hands on it. I wonder if anyone has
    tried "mysqlslap"?

    --
    Kees Cook

    \
     
     \ /
      Last update: 2019-02-12 18:55    [W:2.540 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site