From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Boris Brezillon <boris.brezillon@free-electrons.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-rt-users@vger.kernel.org,
Nicolas Ferre <nicolas.ferre@atmel.com>
Subject: Re: Fix preempt-rt on AT91
Date: Mon, 18 Jan 2016 18:42:59 +0100 [thread overview]
Message-ID: <20160118174259.GC12309@linutronix.de> (raw)
In-Reply-To: <1452997394-8554-1-git-send-email-alexandre.belloni@free-electrons.com>
* Alexandre Belloni | 2016-01-17 03:23:13 [+0100]:
>Hi Sebastian, Thomas,
>
Hi Alexandre,
> 1/ After apply the preempt-rt patch, the kernel doesn't build anymore,
> arm-at91-pit-remove-irq-handler-when-clock-is-unused.patch is not correct
> anymore. Can you squash the following patch to solve this build issue?
I folded most of the changes and should be part of -rt3.
> 2/ This approach actually has more issues, in particular, request_irq() must
> not be calls from interrupt disabled context. That only works because
> might_sleep() is not active during early boot.
> For more information, see the following discussion:
> http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/357607.html
>
> However, we can't remove those patches now because else we would suffer from
> another issue:
> The timer interrupt is shared with other devices, in particular the debug tty,
> the rtc dans the pmc. When using preempt-rt, those interrupts become threaded
> interrupts. But, the pit interrupt is requested with IRQF_TIMER and so has
> IRQF_NO_THREAD. If the pit interrupt is not freed at early boot, all the other
> devices will fail requesting their interrupt, for example:
>
>genirq: Flags mismatch irq 16. 00042080 (ttyS0) vs. 00015280 (at91_tick)
>atmel_usart ffffee00.serial: atmel_startup - Can't get irq
I assumed the pit is just temporary here for the bootstap. The pit irq is
removed and the system switches to the TCB clocksource which runs at a
higher rate.
> I'd say that the proper solution would still be to implement the virtual
> irqchip because this would still hit people not wanting to use the TCB as
> their clock source.
why wouldn't people not want that?
For a virtual irqchip you would need a mask/unmask register in order to
individual disable/enable the irq and you need something to figure out
which one of the three is active. You don't have all those things, do
you?
> 3/ Finally, the kernel will crash when initializing the PMC driver. This is
> solved by this series that will hopefully land in the mainline:
> http://lists.infradead.org/pipermail/linux-arm-kernel/2015-December/390954.html
This is new, isn't it? So the series in currently in v3 and people seem
happy with it. Please poke me once with the commit ids once it is merged
on its way upstream and I will try cherry-pick them from next or so.
All in all, care to forwarded the working pieces from -RT patch set
upstream? I problem I have here is mostly that I can't the patches on
actual hardware. Disabling the PIT and running on the other clocksource
isn't that -RT specific after all :)
Sebastian
next prev parent reply other threads:[~2016-01-18 17:42 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-17 2:23 Fix preempt-rt on AT91 Alexandre Belloni
2016-01-17 2:23 ` [PATCH 4.4-rt2] fix arm-at91-pit-remove-irq-handler-when-clock-is-unused.patch Alexandre Belloni
2016-01-18 17:25 ` Sebastian Andrzej Siewior
2016-01-18 18:42 ` Alexandre Belloni
2016-01-18 20:24 ` Sebastian Andrzej Siewior
2016-01-19 1:22 ` Alexandre Belloni
2016-01-20 11:07 ` Thomas Gleixner
2016-03-17 19:55 ` Alexandre Belloni
2016-01-18 17:42 ` Sebastian Andrzej Siewior [this message]
2016-01-18 19:23 ` Fix preempt-rt on AT91 Alexandre Belloni
2016-01-18 20:30 ` Sebastian Andrzej Siewior
2016-01-19 1:02 ` Alexandre Belloni
2016-03-05 11:35 ` Alexandre Belloni
2016-03-08 11:06 ` Sebastian Andrzej Siewior
2016-03-08 11:26 ` Thomas Gleixner
2016-03-08 18:39 ` Alexandre Belloni
2016-03-09 9:58 ` arm: at91: do not disable/enable clocks in a row Sebastian Andrzej Siewior
2016-03-17 18:09 ` Alexandre Belloni
2016-02-18 20:16 ` Fix preempt-rt on AT91 Jean-Denis Girard
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=20160118174259.GC12309@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=alexandre.belloni@free-electrons.com \
--cc=boris.brezillon@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=nicolas.ferre@atmel.com \
--cc=tglx@linutronix.de \
/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;
as well as URLs for NNTP newsgroup(s).