linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* CONFIG_PEEMPT_RT_FULL vs. CONFIG_PREEMPT_RTB
@ 2011-08-15 14:04 Tim Sander
  2011-08-15 20:44 ` Remy Bohmer
  0 siblings, 1 reply; 2+ messages in thread
From: Tim Sander @ 2011-08-15 14:04 UTC (permalink / raw)
  To: linux-rt-users
  Cc: Peter Zijlstra, Thomas Gleixner, Paul E. McKenney, linux-kernel,
	Remy Bohmer

Hi

I have more than twice as much cpu load when running the  
CONFIG_PREEMPT_RT_FULL=y kernel compared to CONFIG_PREEMPT_RTB=y. First i 
thought that might be the difference that one config had softirqs enabled and 
the other not. Now i realized that softirqs are already enabled with 
CONFIG_PREEMPT_RTB so i don't see a good reason why the CONFIG_PREEMPT_RT_FULL 
option should have two times more cpu load than CONFIG_PREEMPT_RTB.

The arm1136 cpu (533Mhz pcm043) has 9.6khz interrupt rate so i surely expect 
some load. But i wouldn't expect so much difference between 
CONFIG_PREEMPT_RT_FULL and CONFIG_PREEMPT_RTB. So does anybody has an idea 
what might a reason to so much more cpu load when going to full preemption?

Besides of the cpu load i also found out that with rt11 i can again wake up 
usermode from a IRQF_NO_THREAD waiting on a waitqueue. So the steps outlined 
in this mail http://www.spinics.net/lists/linux-rt-users/msg06834.html do not 
seem to be neccessary anymore? Or does this create an error and than some high 
load?

Best regards
Tim

Hottinger Baldwin Messtechnik GmbH, Im Tiefen See 45, 64293 Darmstadt, Germany | www.hbm.com 

Registered as GmbH (German limited liability corporation) in the commercial register at the local court of Darmstadt, HRB 1147  
Company domiciled in Darmstadt | CEO: Andreas Huellhorst | Chairman of the board: James Charles Webster

Als Gesellschaft mit beschraenkter Haftung eingetragen im Handelsregister des Amtsgerichts Darmstadt unter HRB 1147 
Sitz der Gesellschaft: Darmstadt | Geschaeftsfuehrung: Andreas Huellhorst | Aufsichtsratsvorsitzender: James Charles Webster

The information in this email is confidential. It is intended solely for the addressee. If you are not the intended recipient, please let me know and delete this email.

Die in dieser E-Mail enthaltene Information ist vertraulich und lediglich fur den Empfaenger bestimmt. Sollten Sie nicht der eigentliche Empfaenger sein, informieren Sie mich bitte kurz und loeschen diese E-Mail.

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

* Re: CONFIG_PEEMPT_RT_FULL vs. CONFIG_PREEMPT_RTB
  2011-08-15 14:04 CONFIG_PEEMPT_RT_FULL vs. CONFIG_PREEMPT_RTB Tim Sander
@ 2011-08-15 20:44 ` Remy Bohmer
  0 siblings, 0 replies; 2+ messages in thread
From: Remy Bohmer @ 2011-08-15 20:44 UTC (permalink / raw)
  To: Tim Sander
  Cc: linux-rt-users, Peter Zijlstra, Thomas Gleixner, Paul E. McKenney,
	linux-kernel

Hi,

> Besides of the cpu load i also found out that with rt11 i can again wake up
> usermode from a IRQF_NO_THREAD waiting on a waitqueue. So the steps outlined
> in this mail http://www.spinics.net/lists/linux-rt-users/msg06834.html do not
> seem to be neccessary anymore? Or does this create an error and than some high
> load?

Try running with CONFIG_DEBUG_SPINLOCK_SLEEP and you would probably
see some errors...

If you have CONFIG_PREEMPT_RT_FULL set, then the __wake_up function of
the waitqueue runs into a spinlock. This spinlock will be converted to
a mutex since it is a regular spinlock, not a raw_spinlock. A
mutex-lock might sleep. Calling sleeping functions from hard-irq
context is illegal.

Kind regards,

Remy

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

end of thread, other threads:[~2011-08-15 20:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-15 14:04 CONFIG_PEEMPT_RT_FULL vs. CONFIG_PREEMPT_RTB Tim Sander
2011-08-15 20:44 ` Remy Bohmer

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).