Commit Message
Dear RT folks!
I'm pleased to announce the v6.8-rc1-rt2 patch set.
Changes since v6.8-rc1-rt1:
- Junxiao Chang reported an unbalanced invocation of the acquire/
release functions for the non-BLK console. Only the 8250 serial
driver is affected if more than one ttyS console is passed as boot
argument to console=. Patch by Junxiao Chang.
- On ARM with HIGHMEM, HIGHPTE and LPAE enabled a sleeping while
atomic warning can be triggered from the FUTEX code (and other
users).
Known issues
Pierre Gondois reported crashes on ARM64 together with "rtla timerlat
hist" as trigger. It is not yet understood. The report is at
https://lore.kernel.org/70c08728-3d4f-47a6-8a3e-114e4877d120@arm.com
The delta patch against v6.8-rc1-rt1 is appended below and can be found here:
https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.8/incr/patch-6.8-rc1-rt1-rt2.patch.xz
You can get this release via the git tree at:
https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v6.8-rc1-rt2
The RT patch against v6.8-rc1 can be found here:
https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.8/older/patch-6.8-rc1-rt2.patch.xz
The split quilt queue is available at:
https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.8/older/patches-6.8-rc1-rt2.tar.xz
Sebastian
@@ -99,7 +99,7 @@ config ARM
select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
select HAVE_EXIT_THREAD
- select HAVE_FAST_GUP if ARM_LPAE
+ select HAVE_FAST_GUP if ARM_LPAE && !(PREEMPT_RT && HIGHPTE)
select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
select HAVE_FUNCTION_ERROR_INJECTION
select HAVE_FUNCTION_GRAPH_TRACER
@@ -311,7 +311,6 @@ struct nbcon_write_context {
* @nbcon_state: State for nbcon consoles
* @nbcon_seq: Sequence number of the next record for nbcon to print
* @pbufs: Pointer to nbcon private buffer
- * @locked_port: True, if the port lock is locked by nbcon
* @kthread: Printer kthread for this console
* @rcuwait: RCU-safe wait object for @kthread waking
* @irq_work: Defer @kthread waking to IRQ work context
@@ -345,7 +344,6 @@ struct console {
atomic_t __private nbcon_state;
atomic_long_t __private nbcon_seq;
struct printk_buffers *pbufs;
- bool locked_port;
struct task_struct *kthread;
struct rcuwait rcuwait;
struct irq_work irq_work;
@@ -488,6 +488,7 @@ struct uart_port {
struct uart_icount icount; /* statistics */
struct console *cons; /* struct console, if any */
+ bool nbcon_locked_port; /* True, if the port is locked by nbcon */
/* flags must be updated while holding port mutex */
upf_t flags;
@@ -1586,7 +1586,7 @@ void nbcon_acquire(struct uart_port *up)
if (!uart_is_nbcon(up))
return;
- WARN_ON_ONCE(con->locked_port);
+ WARN_ON_ONCE(up->nbcon_locked_port);
do {
do {
@@ -1597,7 +1597,7 @@ void nbcon_acquire(struct uart_port *up)
} while (!nbcon_context_enter_unsafe(&ctxt));
- con->locked_port = true;
+ up->nbcon_locked_port = true;
}
EXPORT_SYMBOL_GPL(nbcon_acquire);
@@ -1623,13 +1623,13 @@ void nbcon_release(struct uart_port *up)
.prio = NBCON_PRIO_NORMAL,
};
- if (!con->locked_port)
+ if (!up->nbcon_locked_port)
return;
if (nbcon_context_exit_unsafe(&ctxt))
nbcon_context_release(&ctxt);
- con->locked_port = false;
+ up->nbcon_locked_port = false;
}
EXPORT_SYMBOL_GPL(nbcon_release);
@@ -1 +1 @@
--rt1
+-rt2