diff mbox

[-next] random: Remove remaining relicts of rand_initialize_irq()

Message ID 1342524793-2522-1-git-send-email-sedat.dilek@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sedat Dilek July 17, 2012, 11:33 a.m. UTC
rand_initialize_irq() was removed here:

commit 946672f548682905d8ecdab33bb6e2c705418505
"random: remove rand_initialize_irq()"

The AB3100 mfd-driver is the only driver still using it and breaks
with the following error-messages in linux-next (next-20120717):
...
drivers/built-in.o: In function `ab3100_probe':
ab3100-core.c:(.devinit.text+0xbf97): undefined reference to `rand_initialize_irq'

Fix this issue and remove all remaining relicts of rand_initialize_irq().

Might be worth to fold-in these changes into the original commit.

Tested against linux-next (next-20120717) on a Ubuntu/precise AMD64 host.

[ v2: Polish up subject and commit message ]

Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
---
 arch/ia64/kernel/irq_ia64.c |    1 -
 drivers/mfd/ab3100-core.c   |    2 --
 include/linux/random.h      |    2 --
 3 files changed, 5 deletions(-)

Comments

Theodore Ts'o July 17, 2012, 5:12 p.m. UTC | #1
On Tue, Jul 17, 2012 at 01:33:13PM +0200, Sedat Dilek wrote:
> rand_initialize_irq() was removed here:
> 
> commit 946672f548682905d8ecdab33bb6e2c705418505
> "random: remove rand_initialize_irq()"
> 
> The AB3100 mfd-driver is the only driver still using it and breaks
> with the following error-messages in linux-next (next-20120717)

Oops.  Sorry, I thought I had caught all of the users of
rand_initialize_irq().  Thanks for catching this!

I'll take your advice and merge it into the original commit.

     	       	      	  	   	- Ted
Linus Walleij July 17, 2012, 6:57 p.m. UTC | #2
On Tue, Jul 17, 2012 at 7:12 PM, Theodore Ts'o <tytso@mit.edu> wrote:
> On Tue, Jul 17, 2012 at 01:33:13PM +0200, Sedat Dilek wrote:
>> rand_initialize_irq() was removed here:
>>
>> commit 946672f548682905d8ecdab33bb6e2c705418505
>> "random: remove rand_initialize_irq()"
>>
>> The AB3100 mfd-driver is the only driver still using it and breaks
>> with the following error-messages in linux-next (next-20120717)
>
> Oops.  Sorry, I thought I had caught all of the users of
> rand_initialize_irq().  Thanks for catching this!
>
> I'll take your advice and merge it into the original commit.

So the IRQ will be auto-sampled now or something?

Sorry for not quite following, which commit do I look at to
understand this now...

Yours,
Linus Walleij
Theodore Ts'o July 17, 2012, 9:42 p.m. UTC | #3
On Tue, Jul 17, 2012 at 08:57:19PM +0200, Linus Walleij wrote:
> So the IRQ will be auto-sampled now or something?
> 
> Sorry for not quite following, which commit do I look at to
> understand this now...

Yes, there was a huge discussion on LKML about two weeks ago.  The
key commit that will be going in during the next merge window is:

http://git.kernel.org/?p=linux/kernel/git/tytso/random.git;a=commitdiff;h=775f4b297b780601e61787b766f306ed3e1d23eb

There are a whole lot of other changes, of course, but that's the key
change which IRQF_SAMPLE_RANDOM a no-op.  People have tested this
under extreme conditions (high speed networking tests with no
interrupt mitigations, etc.) and the patch as tweaked had no
measurable overhead, so we can simply sample every single commit with
a low-overhead fast path which uses per-cpu buffers, and then mix into
the /dev/random entropy pool less frequently (which is still fast, but
requires a few more memory accesses to shared memory that may incur
delays due to cache line bounces).

					- Ted
Linus Walleij July 23, 2012, 2:54 p.m. UTC | #4
On Tue, Jul 17, 2012 at 11:42 PM, Theodore Ts'o <tytso@mit.edu> wrote:
> On Tue, Jul 17, 2012 at 08:57:19PM +0200, Linus Walleij wrote:
>> So the IRQ will be auto-sampled now or something?
>>
>> Sorry for not quite following, which commit do I look at to
>> understand this now...
>
> Yes, there was a huge discussion on LKML about two weeks ago.  The
> key commit that will be going in during the next merge window is:
>
> http://git.kernel.org/?p=linux/kernel/git/tytso/random.git;a=commitdiff;h=775f4b297b780601e61787b766f306ed3e1d23eb

I get it now, after checking the commit and reading the LWN
article. It's all looking good,
Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
diff mbox

Patch

diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index 5c3e088..1034884 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -23,7 +23,6 @@ 
 #include <linux/ioport.h>
 #include <linux/kernel_stat.h>
 #include <linux/ptrace.h>
-#include <linux/random.h>	/* for rand_initialize_irq() */
 #include <linux/signal.h>
 #include <linux/smp.h>
 #include <linux/threads.h>
diff --git a/drivers/mfd/ab3100-core.c b/drivers/mfd/ab3100-core.c
index e799050..78fca29 100644
--- a/drivers/mfd/ab3100-core.c
+++ b/drivers/mfd/ab3100-core.c
@@ -934,8 +934,6 @@  static int __devinit ab3100_probe(struct i2c_client *client,
 					IRQF_ONESHOT, "ab3100-core", ab3100);
 	if (err)
 		goto exit_no_irq;
-	/* This real unpredictable IRQ is of course sampled for entropy */
-	rand_initialize_irq(client->irq);
 
 	err = abx500_register_ops(&client->dev, &ab3100_ops);
 	if (err)
diff --git a/include/linux/random.h b/include/linux/random.h
index 29e217a..ac621ce 100644
--- a/include/linux/random.h
+++ b/include/linux/random.h
@@ -48,8 +48,6 @@  struct rnd_state {
 
 #ifdef __KERNEL__
 
-extern void rand_initialize_irq(int irq);
-
 extern void add_device_randomness(const void *, unsigned int);
 extern void add_input_randomness(unsigned int type, unsigned int code,
 				 unsigned int value);