ChanServ changed the topic of #armlinux to: ARM kernel talk [Upstream kernel, find your vendor forums for questions about their kernels] | https://libera.irclog.whitequark.org/armlinux
jclsn has quit [Ping timeout: 252 seconds]
jclsn has joined #armlinux
heat_ has quit [Ping timeout: 260 seconds]
heidaren has joined #armlinux
heidaren has quit [Quit: Textual IRC Client: www.textualapp.com]
heidaren has joined #armlinux
heidaren has quit [Client Quit]
heidaren has joined #armlinux
heidaren has quit [Client Quit]
heidaren has joined #armlinux
heidaren has quit [Remote host closed the connection]
heidaren has joined #armlinux
cbeznea has joined #armlinux
lain6141 has quit [Remote host closed the connection]
lain6141 has joined #armlinux
rvalue has quit [Ping timeout: 255 seconds]
rvalue has joined #armlinux
Livio has joined #armlinux
monstr has joined #armlinux
prabhakalad has quit [Quit: Konversation terminated!]
prabhakalad has joined #armlinux
gclement has joined #armlinux
headless has joined #armlinux
sszy has joined #armlinux
biju has joined #armlinux
headless has quit [Quit: Konversation terminated!]
mripard has joined #armlinux
misanthropos has quit [Ping timeout: 252 seconds]
Amit_T has joined #armlinux
nsaenz has quit [Ping timeout: 252 seconds]
Amit_T has quit [Ping timeout: 276 seconds]
nsaenz has joined #armlinux
nsaenz has quit [Remote host closed the connection]
nsaenz has joined #armlinux
misanthropos has joined #armlinux
cbeznea_ has joined #armlinux
cbeznea has quit [Ping timeout: 248 seconds]
lain6141 has quit [Read error: Connection reset by peer]
lain6141 has joined #armlinux
dmart has joined #armlinux
nsaenz has quit [Remote host closed the connection]
nsaenz has joined #armlinux
nsaenz has quit [Remote host closed the connection]
nsaenz has joined #armlinux
Amit_T has joined #armlinux
tleb has quit [Remote host closed the connection]
sfo has quit [Remote host closed the connection]
d4ve has quit [Remote host closed the connection]
tom5760 has quit [Remote host closed the connection]
lane has quit [Remote host closed the connection]
bryanb has quit [Remote host closed the connection]
lane has joined #armlinux
tleb has joined #armlinux
d4ve has joined #armlinux
tom5760 has joined #armlinux
bryanb has joined #armlinux
sfo has joined #armlinux
biju has quit [Ping timeout: 245 seconds]
monstr has quit [Remote host closed the connection]
<dmart> maz: Horribly stupid question: interrupt handlers are usually preemptible, right?
heidaren has quit [Quit: Bye ~]
prabhakalad has quit [Ping timeout: 260 seconds]
<maz> dmart: they usually aren't.
lain6141 has quit [Read error: Connection reset by peer]
<dmart> maz: What about with PREEMPT_RT? I'm trying to work out whether spin_lock_irqsave() should be allowed in interrupt handlers...
<dmart> maz: Is there a good writeup on that somewhere?
lain6141 has joined #armlinux
<dmart> (Traditionally, it's allowed, but I've been trying go get my head around a lockdep splat in printk.)
<maz> dmart: ah, PREEMPT_RT is another story altogether. in general, you want raw_spin_lock* in IRQ context if you do not want to be preempted.
<maz> but also, handlers are always threaded with PREEMPT_RT
<dmart> javierm: Understood, but drivers usually don't care about being preempted. They just need to not race with themselves on other CPUs (spin_lock_...), or with their own interrupt handler on the same CPUs (..._irq)
<dmart> maz: always threaded> aha, thanks (couldn't quite find that explicitly written down anywhere yet)
<dmart> So it feels like spin_lock_irqsave() is generally sensible for driver utility functions that might run in interrupt context but are also used in thread context. Does that sound right?
psydroid has quit [Ping timeout: 255 seconds]
<maz> dmart: indeed, and that explains why spin-locks get downgraded to mutex-like behaviour, with raw_spinlocks taking this role for the section that really rely on that behaviour.
<dmart> maz: Question: on RT, can a reqular interrupt handler run when preemption is disabled? I'm hoping not, otherwise this is kinda broken.
<dmart> (If the handler runs in a thread, I guess preempt_disable() ought to prevent switching to it...)
<maz> dmart: probably not. but my experience with RT is about 6 years old, so you really want to take whatever I say with a large grain of salt (+ some cheese).
<dmart> javierm: ^ thanks for those
<javierm> dmart: I think you are correct, unless the IRQ is requested with IRQF_NO_THREAD (or IRQF_TIMER that enables that flag too)
<dmart> javierm: Right, I assumed that IRQF_NO_THREAD did something like that, but hadn't dug through the code yet.
<dmart> I think what we are seeing is a race between non-printk console output and printk on different CPUs :(
<arnd> dmart: could it be that your interrupt handler causes a lockdep splat because it uses a spinlock under preempt_disable()? That combination is not allowed with PREEMPT_RT
<arnd> dmart: the race you see may be a side-effect of the rewrite of printk that is in the preempt-rt tree
psydroid has joined #armlinux
<dmart> arnd: Was any of that stuff merged in mainline? I need to check what tree was actually being tested...
<arnd> dmart: As far as I know the printk rework is one of the last bits that is not in 6.10 yet, but should become part of 6.11
<arnd> dmart: are you trying to use PREEMPT_RT on mainline kernels rather than linux-rt-devel.git or linux-stable-rt.git?
gclement has quit [Ping timeout: 245 seconds]
heat has joined #armlinux
amitk_ has quit [Ping timeout: 260 seconds]
psydroid2 has joined #armlinux
headless has joined #armlinux
iivanov_ has quit []
biju has joined #armlinux
<dmart> arnd: This was reported by someone else, so I need to check...
<dmart> maz: ^ if it's 6 years old, I think it's cheese :)
psydroid2 has quit [Ping timeout: 252 seconds]
amitk has joined #armlinux
prabhakalad has joined #armlinux
sszy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
nsaenz has quit [Remote host closed the connection]
nsaenz has joined #armlinux
nsaenz has quit [Ping timeout: 248 seconds]
Livio has quit [Ping timeout: 260 seconds]
Livio has joined #armlinux
IgorPec has quit [Quit: ZNC - https://znc.in]
IgorPec has joined #armlinux
lain6141 has quit [Read error: Connection reset by peer]
lain6141 has joined #armlinux
psydroid2 has joined #armlinux
cbeznea_ has quit [Ping timeout: 255 seconds]
biju has quit [Quit: Konversation terminated!]
xvmt has quit [Remote host closed the connection]
xvmt has joined #armlinux
xvmt has quit [Remote host closed the connection]
xvmt has joined #armlinux
System_Error has quit [Remote host closed the connection]
headless has quit [Quit: Konversation terminated!]
Amit_T has quit [Quit: Leaving]
psydroid2 has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
amitk has quit [Ping timeout: 252 seconds]
nsaenz has joined #armlinux
nsaenz has quit [Ping timeout: 260 seconds]
Livio has quit [Ping timeout: 255 seconds]
heidaren has joined #armlinux