lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140424150621.GB2969@jtriplet-mobl1>
Date:	Thu, 24 Apr 2014 08:06:22 -0700
From:	Josh Triplett <josh@...htriplett.org>
To:	Michael Opdenacker <michael.opdenacker@...e-electrons.com>
Cc:	akpm@...ux-foundation.org, paulmck@...ux.vnet.ibm.com,
	fweisbec@...il.com, eparis@...hat.com,
	paul.gortmaker@...driver.com, vapier@...too.org,
	kyungsik.lee@....com, jslaby@...e.cz, dwight.engen@...cle.com,
	pefoley2@...oley.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] init/Kconfig: improve CC_OPTIMIZE_FOR_SIZE
 documentation

On Thu, Apr 24, 2014 at 02:07:34PM +0200, Michael Opdenacker wrote:
> Signed-off-by: Michael Opdenacker <michael.opdenacker@...e-electrons.com>

The benchmarks from your cover letter should appear here in the commit
message, along with corresponding information about kernel size.

> ---
>  init/Kconfig | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/init/Kconfig b/init/Kconfig
> index 9d3585bb2a7a..b6394a9ddc38 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1251,7 +1251,19 @@ config CC_OPTIMIZE_FOR_SIZE
>  	bool "Optimize for size"
>  	help
>  	  Enabling this option will pass "-Os" instead of "-O2" to gcc
> -	  resulting in a smaller kernel.
> +	  resulting in a smaller but slower kernel.
> +
> +	  This option can be useful in very small systems where every
> +	  byte counts.
> +
> +	  A smaller kernel will also be slightly faster to load and start.
> +	  However, experiments have shown that such early speedups are
> +	  quickly offset by the slower kernel speed. Unless you are running
> +	  a very simple user space, the total boot time should be degraded
> +	  by this option.
> +
> +	  Anyway, kernel code will be slower to execute and overall system
> +  	  performance will be degraded.

I'd suggest leaving out the middle paragraph ("A smaller kernel
will...") entirely; it seems already implied by "smaller but slower
kernel", and the last sentence of that paragraph seems quite speculative
given your benchmarks in the cover letter.  That already should
counteract any mistaken impression people might have that -Os would
speed the kernel up.  How about:

	  This option can be useful on very small systems where every
	  byte counts.  However, the resulting kernel will be slower to
	  execute, and overall system performance will be degraded.

Also, when you collected your performance benchmarks, did you collect
any profiling information on what part of the kernel got slower?
Compiling a couple of kernel hotspots with -O2 (or -O3) might eliminate
the performance delta.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ