Hello RT-list! I'm pleased to announce the 5.10.180-rt89 stable release. This release is a RT-only update. All the changes here are specific to RT. You can get this release via the git tree at: git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git branch: v5.10-rt Head SHA1: cb0ca150b57efd9e879e56c8f9834d98182aa394 Or to build 5.10.180-rt89 directly, the following patches should be applied: https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.xz https://www.kernel.org/pub/linux/kernel/v5.x/patch-5.10.180.xz https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patch-5.10.180-rt89.patch.xz Signing key fingerprint: 9354 0649 9972 8D31 D464 D140 F394 A423 F8E6 7C26 All keys used for the above files and repositories can be found on the following git repository: git://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git Testing performed under the tag v5.10.180-rt89-rc1 at: https://linux.kernelci.org/test/job/rt-stable/branch/v5.10-rt-next/kernel/v5.10.180-rt89-rc1/ Enjoy! Luis Changes from v5.10.180-rt88: --- Luis Claudio R. Goncalves (3): Revert "printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h" Revert "mm/page_alloc: fix potential deadlock on zonelist_update_seqseqlock" Linux 5.10.180-rt89 --- include/linux/printk.h | 19 ------------------- localversion-rt | 2 +- mm/page_alloc.c | 14 -------------- 3 files changed, 1 insertion(+), 34 deletions(-) --- diff --git a/include/linux/printk.h b/include/linux/printk.h index 92e0656841128..7e4352467d831 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -609,23 +609,4 @@ static inline void print_hex_dump_debug(const char *prefix_str, int prefix_type, #define print_hex_dump_bytes(prefix_str, prefix_type, buf, len) \ print_hex_dump_debug(prefix_str, prefix_type, 16, 1, buf, len, true) -#if defined(CONFIG_PRINTK) && !defined(CONFIG_PREEMPT_RT) -extern void __printk_safe_enter(void); -extern void __printk_safe_exit(void); -/* - * The printk_deferred_enter/exit macros are available only as a hack for - * some code paths that need to defer all printk console printing. Interrupts - * must be disabled for the deferred duration. - */ -#define printk_deferred_enter __printk_safe_enter -#define printk_deferred_exit __printk_safe_exit -#else /* defined(CONFIG_PRINTK) && !defined(CONFIG_PREEMPT_RT) */ -static inline void printk_deferred_enter(void) -{ -} -static inline void printk_deferred_exit(void) -{ -} -#endif - #endif diff --git a/localversion-rt b/localversion-rt index 666227d921a3d..d2a40223e4b77 100644 --- a/localversion-rt +++ b/localversion-rt @@ -1 +1 @@ --rt88 +-rt89 diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 7e65e3ef16e3a..3760a06932a6e 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -6043,20 +6043,7 @@ static void __build_all_zonelists(void *data) int nid; int __maybe_unused cpu; pg_data_t *self = data; - unsigned long flags; - /* - * Explicitly disable this CPU's interrupts before taking seqlock - * to prevent any IRQ handler from calling into the page allocator - * (e.g. GFP_ATOMIC) that could hit zonelist_iter_begin and livelock. - */ - local_irq_save(flags); - /* - * Explicitly disable this CPU's synchronous printk() before taking - * seqlock to prevent any printk() from trying to hold port->lock, for - * tty_insert_flip_string_and_push_buffer() on other CPU might be - * calling kmalloc(GFP_ATOMIC | __GFP_NOWARN) with port->lock held. - */ write_seqlock(&zonelist_update_seq); #ifdef CONFIG_NUMA @@ -6091,7 +6078,6 @@ static void __build_all_zonelists(void *data) } write_sequnlock(&zonelist_update_seq); - local_irq_restore(flags); } static noinline void __init