public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Stephan Mueller <smueller@chronox.de>
Cc: Herbert Xu <herbert@gondor.apana.org.au>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Jim Davis <jim.epost@gmail.com>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-next <linux-next@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	linux-crypto <linux-crypto@vger.kernel.org>,
	Waiman Long <Waiman.Long@hp.com>, Ingo Molnar <mingo@kernel.org>,
	"x86@kernel.org" <x86@kernel.org>
Subject: Re: randconfig build error with next-20150529, in crypto/jitterentropy.c
Date: Mon, 08 Jun 2015 17:59:45 +0200	[thread overview]
Message-ID: <1433779185.1495.46.camel@twins> (raw)
In-Reply-To: <2190933.vdB90a64Et@tauon.atsec.com>

On Mon, 2015-06-08 at 17:52 +0200, Stephan Mueller wrote:
> Am Monday 08 June 2015, 14:36:30 schrieb Peter Zijlstra:
> 
> Hi Peter,
> >
> >Would something like
> >
> >#pragma GCC push_options
> >#pragma GCC optimize ("-O0")
> >static __u64 jent_fold_time(struct rand_data *ec, __u64 time,
> >			    __u64 *folded, __u64 loop_cnt)
> >{
> >	...
> >}
> >#pragma GCC pop_options
> >
> >Be an option to allow the file to be compiled with regular optimizations
> >enabled?
> 
> After doing some tests, I see that neither the min entropy nor the Shannon 
> Entropy of the raw noise is affected by using the mentioned pragmas at the 
> right locations.
> 
> So I will prepare a patch tonight.
> 
> Just for my edification: why does an -O0 on a self contained file break the 
> compile run?

We rely on -finline-functions, which is disabled with -O0.

By inlining some things, the compiler can do constant value propagation
etc. and compile time evaluate things.

We often (as is the case here) use this to generate compiler warns
without generating actual code.

>  Any why do the pragmas work?

They are placed such that the code affected by the above creativity is
outside of the forced -O0 compile and life is good again.

  reply	other threads:[~2015-06-08 15:59 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-29 19:14 randconfig build error with next-20150529, in crypto/jitterentropy.c Jim Davis
2015-06-08 12:21 ` Andy Shevchenko
2015-06-08 12:25   ` Herbert Xu
2015-06-08 12:36     ` Peter Zijlstra
2015-06-08 12:44       ` Stephan Mueller
2015-06-08 15:52       ` Stephan Mueller
2015-06-08 15:59         ` Peter Zijlstra [this message]
2015-06-08 19:54   ` Guenter Roeck
2015-06-08 22:36     ` Stephan Mueller
2015-06-08 23:30       ` Guenter Roeck
2015-06-08 23:33         ` Stephan Mueller
2015-06-08 23:51           ` Guenter Roeck
2015-06-09  0:10             ` Stephan Mueller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1433779185.1495.46.camel@twins \
    --to=peterz@infradead.org \
    --cc=Waiman.Long@hp.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=jim.epost@gmail.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=sfr@canb.auug.org.au \
    --cc=smueller@chronox.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox