linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Using random in interrupts for RT
@ 2012-08-14 14:30 Steven Rostedt
  2012-08-14 15:17 ` Thomas Gleixner
  2012-08-21 18:12 ` Steven Rostedt
  0 siblings, 2 replies; 4+ messages in thread
From: Steven Rostedt @ 2012-08-14 14:30 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, Ben Hutchings, RT

Thomas,

Ben Hutchings asked me if we still need "genirq: Disable random call on
preempt-rt" for -rt? With commit 902c098a366 "random: use lockless
techniques in the interrupt path" there is no more locks used. But does
it still produce high latencies?

-- Steve

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Using random in interrupts for RT
  2012-08-14 14:30 Using random in interrupts for RT Steven Rostedt
@ 2012-08-14 15:17 ` Thomas Gleixner
  2012-08-21 18:12 ` Steven Rostedt
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Gleixner @ 2012-08-14 15:17 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: LKML, Ben Hutchings, RT

On Tue, 14 Aug 2012, Steven Rostedt wrote:
> Ben Hutchings asked me if we still need "genirq: Disable random call on
> preempt-rt" for -rt? With commit 902c098a366 "random: use lockless
> techniques in the interrupt path" there is no more locks used. But does
> it still produce high latencies?

Haven't tested it. Will put it on my ever growing todo list....

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Using random in interrupts for RT
  2012-08-14 14:30 Using random in interrupts for RT Steven Rostedt
  2012-08-14 15:17 ` Thomas Gleixner
@ 2012-08-21 18:12 ` Steven Rostedt
  2012-08-21 19:12   ` Ben Hutchings
  1 sibling, 1 reply; 4+ messages in thread
From: Steven Rostedt @ 2012-08-21 18:12 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, Ben Hutchings, RT, Theodore Tso

On Tue, 2012-08-14 at 10:30 -0400, Steven Rostedt wrote:
> Thomas,
> 
> Ben Hutchings asked me if we still need "genirq: Disable random call on
> preempt-rt" for -rt? With commit 902c098a366 "random: use lockless
> techniques in the interrupt path" there is no more locks used. But does
> it still produce high latencies?

Ben,

Looks that the #ifndef can't be removed just yet. The code is not
totally lockless...


add_interrupt_randomness ->
	credit_entropy_bits ->
		kill_fasync ->
			kill_fasync_rcu ->
				spin_lock_irqsave(&fa->fa_lock, flags)

to make things worse, that spinlock turns into a mutex on -rt, so it may
crash the box if triggered.

-- Steve

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Using random in interrupts for RT
  2012-08-21 18:12 ` Steven Rostedt
@ 2012-08-21 19:12   ` Ben Hutchings
  0 siblings, 0 replies; 4+ messages in thread
From: Ben Hutchings @ 2012-08-21 19:12 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: Thomas Gleixner, LKML, RT, Theodore Tso

On Tue, Aug 21, 2012 at 02:12:13PM -0400, Steven Rostedt wrote:
> On Tue, 2012-08-14 at 10:30 -0400, Steven Rostedt wrote:
> > Thomas,
> > 
> > Ben Hutchings asked me if we still need "genirq: Disable random call on
> > preempt-rt" for -rt? With commit 902c098a366 "random: use lockless
> > techniques in the interrupt path" there is no more locks used. But does
> > it still produce high latencies?
> 
> Ben,
> 
> Looks that the #ifndef can't be removed just yet. The code is not
> totally lockless...
> 
> 
> add_interrupt_randomness ->
> 	credit_entropy_bits ->
> 		kill_fasync ->
> 			kill_fasync_rcu ->
> 				spin_lock_irqsave(&fa->fa_lock, flags)
> 
> to make things worse, that spinlock turns into a mutex on -rt, so it may
> crash the box if triggered.
 
Thanks for checking this.

Ben.

-- 
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
                                                              - Albert Camus

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-08-21 19:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-14 14:30 Using random in interrupts for RT Steven Rostedt
2012-08-14 15:17 ` Thomas Gleixner
2012-08-21 18:12 ` Steven Rostedt
2012-08-21 19:12   ` Ben Hutchings

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).