Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Tue, 12 Feb 2019 09:54:38 -0800
From: Kees Cook <keescook@...omium.org>
To: Alexander Popov <alex.popov@...ux.com>
Cc: LKML <linux-kernel@...r.kernel.org>, 
	Ard Biesheuvel <ard.biesheuvel@...aro.org>, Laura Abbott <labbott@...hat.com>, 
	xen-devel <xen-devel@...ts.xenproject.org>, 
	Maling list - DRI developers <dri-devel@...ts.freedesktop.org>, intel-gfx@...ts.freedesktop.org, 
	intel-wired-lan@...ts.osuosl.org, 
	Network Development <netdev@...r.kernel.org>, linux-usb@...r.kernel.org, 
	"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>, Linux-MM <linux-mm@...ck.org>, dev@...nvswitch.org, 
	linux-kbuild <linux-kbuild@...r.kernel.org>, 
	linux-security-module <linux-security-module@...r.kernel.org>, 
	Kernel Hardening <kernel-hardening@...ts.openwall.com>, Greg KH <gregkh@...uxfoundation.org>, 
	Jann Horn <jannh@...gle.com>, William Kucharski <william.kucharski@...cle.com>, 
	Jani Nikula <jani.nikula@...ux.intel.com>, Edwin Zimmerman <edwin@...mainstreet.net>, 
	Matthew Wilcox <willy@...radead.org>, Jeff Kirsher <jeffrey.t.kirsher@...el.com>
Subject: Re: [PATCH 0/3] gcc-plugins: Introduce stackinit plugin

On Mon, Jan 28, 2019 at 4:12 PM Alexander Popov <alex.popov@...ux.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

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.