Re: [ANNOUNCE] 3.18.9-rt4
On Sat, Mar 07, 2015 at 12:25:29PM -0300, Gustavo Bittencourt wrote: > On Sat, Mar 7, 2015 at 11:15 AM, Sebastian Andrzej Siewior > wrote: > > > > I'm pleased to announce the v3.18.9-rt4 patch set. > > > > Changes since v3.18.9-rt3 > > > > Has v3.18.9-rt3 been released? If so, I missed the announcement. Probably v3.18.9-rt3 is just v3.18.7-rt2 rebased to v3.18.9. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [ANNOUNCE] 3.18.9-rt4
On Sat, Mar 7, 2015 at 11:15 AM, Sebastian Andrzej Siewior wrote: > > I'm pleased to announce the v3.18.9-rt4 patch set. > > Changes since v3.18.9-rt3 > Has v3.18.9-rt3 been released? If so, I missed the announcement. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[ANNOUNCE] 3.18.9-rt4
Dear RT folks! I'm pleased to announce the v3.18.9-rt4 patch set. Changes since v3.18.9-rt3 - The patch "rwsem-rt: Do not allow readers to nest" has been reverted. This means cpufreq works again. - A fix in sound/audio to not disable interrupts as part of the locking. (Mike Galbraith) - A fix in NFS which caused " sleeping function called from invalid context" warnings (Mike Galbraith) - Thermal wake ups on X86 are now handled defred into thread context (Daniel Wagner) - A ifdefs in lockdep self-test to avoid long "defined but not used" compiler warnings (Josh Cartwright) - Fixed dead-lock handling of the ww_mutex (Mike Galbraith) - The primary handler of mmc/sdhci is moved into the threaded one to avoid taking sleeping locks in IRQ contet. (Reported by Michal Šmucr) - The IRQ-work handling has been updated to get rid of the warning triggered in FULL_NO_HZ mode (Reported by Carsten Emde & Luis Claudio R. Goncalves) - "rcu torture" now compiles if enabled (Luis Claudio R. Goncalves) - "Simple work queue" now disables interrupts during list handling - The MCE check now uses the "Simple work queue" instead of its own thread for defered work (Daniel Wagner) Known issues: - bcache is disabled. - lazy preempt on x86_64 leads to a crash with some load. - CPU hotplug works in general. Steven's test script however deadlocks usually on the second invocation. - xor / raid_pq I had max latency jumping up to 67563us on one CPU while the next lower max was 58us. I tracked it down to module's init code of xor and raid_pq. Both disable preemption while measuring the measuring the performance of the individual implementation. The delta patch against 3.18.9-rt3 is appended below and can be found here: https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/incr/patch-3.18.9-rt3-rt4.patch.xz The RT patch against 3.18.9 can be found here: https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/patch-3.18.9-rt4.patch.xz The split quilt queue is available at: https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/patches-3.18.9-rt4.tar.xz Sebastian diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 718fc6cc6c64..d7f1c8316f94 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -43,6 +42,7 @@ #include #include #include +#include #include #include @@ -1364,7 +1364,7 @@ static void mce_do_trigger(struct work_struct *work) static DECLARE_WORK(mce_trigger_work, mce_do_trigger); -static void __mce_notify_work(void) +static void __mce_notify_work(struct swork_event *event) { /* Not more than two messages every minute */ static DEFINE_RATELIMIT_STATE(ratelimit, 60*HZ, 2); @@ -1385,43 +1385,31 @@ static void __mce_notify_work(void) } #ifdef CONFIG_PREEMPT_RT_FULL -struct task_struct *mce_notify_helper; - -static int mce_notify_helper_thread(void *unused) -{ - while (1) { - set_current_state(TASK_INTERRUPTIBLE); - schedule(); - if (kthread_should_stop()) - break; - __mce_notify_work(); - } - return 0; -} +static bool notify_work_ready __read_mostly; +static struct swork_event notify_work; static int mce_notify_work_init(void) { - mce_notify_helper = kthread_run(mce_notify_helper_thread, NULL, - "mce-notify"); - if (!mce_notify_helper) - return -ENOMEM; + int err; + + err = swork_get(); + if (err) + return err; + INIT_SWORK(_work, __mce_notify_work); + notify_work_ready = true; return 0; } static void mce_notify_work(void) { - if (WARN_ON_ONCE(!mce_notify_helper)) { - pr_info(HW_ERR "Machine check event before MCE init; ignored\n"); - return; - } - - wake_up_process(mce_notify_helper); + if (notify_work_ready) + swork_queue(_work); } #else static void mce_notify_work(void) { - __mce_notify_work(); + __mce_notify_work(NULL); } static inline int mce_notify_work_init(void) { return 0; } #endif @@ -2497,6 +2485,10 @@ static __init int mcheck_init_device(void) goto err_out; } + err = mce_notify_work_init(); + if (err) + goto err_out; + if (!zalloc_cpumask_var(_device_initialized, GFP_KERNEL)) { err = -ENOMEM; goto err_out; @@ -2533,15 +2525,8 @@ static __init int mcheck_init_device(void) if (err) goto err_register; - err = mce_notify_work_init(); - if (err) - goto err_notify; - return 0; -err_notify: - misc_deregister(_chrdev_device); - err_register:
[ANNOUNCE] 3.18.9-rt4
Dear RT folks! I'm pleased to announce the v3.18.9-rt4 patch set. Changes since v3.18.9-rt3 - The patch rwsem-rt: Do not allow readers to nest has been reverted. This means cpufreq works again. - A fix in sound/audio to not disable interrupts as part of the locking. (Mike Galbraith) - A fix in NFS which caused sleeping function called from invalid context warnings (Mike Galbraith) - Thermal wake ups on X86 are now handled defred into thread context (Daniel Wagner) - A ifdefs in lockdep self-test to avoid long defined but not used compiler warnings (Josh Cartwright) - Fixed dead-lock handling of the ww_mutex (Mike Galbraith) - The primary handler of mmc/sdhci is moved into the threaded one to avoid taking sleeping locks in IRQ contet. (Reported by Michal Šmucr) - The IRQ-work handling has been updated to get rid of the warning triggered in FULL_NO_HZ mode (Reported by Carsten Emde Luis Claudio R. Goncalves) - rcu torture now compiles if enabled (Luis Claudio R. Goncalves) - Simple work queue now disables interrupts during list handling - The MCE check now uses the Simple work queue instead of its own thread for defered work (Daniel Wagner) Known issues: - bcache is disabled. - lazy preempt on x86_64 leads to a crash with some load. - CPU hotplug works in general. Steven's test script however deadlocks usually on the second invocation. - xor / raid_pq I had max latency jumping up to 67563us on one CPU while the next lower max was 58us. I tracked it down to module's init code of xor and raid_pq. Both disable preemption while measuring the measuring the performance of the individual implementation. The delta patch against 3.18.9-rt3 is appended below and can be found here: https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/incr/patch-3.18.9-rt3-rt4.patch.xz The RT patch against 3.18.9 can be found here: https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/patch-3.18.9-rt4.patch.xz The split quilt queue is available at: https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/patches-3.18.9-rt4.tar.xz Sebastian diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 718fc6cc6c64..d7f1c8316f94 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -18,7 +18,6 @@ #include linux/rcupdate.h #include linux/kobject.h #include linux/uaccess.h -#include linux/kthread.h #include linux/kdebug.h #include linux/kernel.h #include linux/percpu.h @@ -43,6 +42,7 @@ #include linux/irq_work.h #include linux/export.h #include linux/jiffies.h +#include linux/work-simple.h #include asm/processor.h #include asm/mce.h @@ -1364,7 +1364,7 @@ static void mce_do_trigger(struct work_struct *work) static DECLARE_WORK(mce_trigger_work, mce_do_trigger); -static void __mce_notify_work(void) +static void __mce_notify_work(struct swork_event *event) { /* Not more than two messages every minute */ static DEFINE_RATELIMIT_STATE(ratelimit, 60*HZ, 2); @@ -1385,43 +1385,31 @@ static void __mce_notify_work(void) } #ifdef CONFIG_PREEMPT_RT_FULL -struct task_struct *mce_notify_helper; - -static int mce_notify_helper_thread(void *unused) -{ - while (1) { - set_current_state(TASK_INTERRUPTIBLE); - schedule(); - if (kthread_should_stop()) - break; - __mce_notify_work(); - } - return 0; -} +static bool notify_work_ready __read_mostly; +static struct swork_event notify_work; static int mce_notify_work_init(void) { - mce_notify_helper = kthread_run(mce_notify_helper_thread, NULL, - mce-notify); - if (!mce_notify_helper) - return -ENOMEM; + int err; + + err = swork_get(); + if (err) + return err; + INIT_SWORK(notify_work, __mce_notify_work); + notify_work_ready = true; return 0; } static void mce_notify_work(void) { - if (WARN_ON_ONCE(!mce_notify_helper)) { - pr_info(HW_ERR Machine check event before MCE init; ignored\n); - return; - } - - wake_up_process(mce_notify_helper); + if (notify_work_ready) + swork_queue(notify_work); } #else static void mce_notify_work(void) { - __mce_notify_work(); + __mce_notify_work(NULL); } static inline int mce_notify_work_init(void) { return 0; } #endif @@ -2497,6 +2485,10 @@ static __init int mcheck_init_device(void) goto err_out; } + err = mce_notify_work_init(); + if (err) + goto err_out; + if (!zalloc_cpumask_var(mce_device_initialized, GFP_KERNEL)) { err = -ENOMEM; goto err_out; @@ -2533,15 +2525,8 @@ static __init int mcheck_init_device(void) if (err) goto
Re: [ANNOUNCE] 3.18.9-rt4
On Sat, Mar 7, 2015 at 11:15 AM, Sebastian Andrzej Siewior bige...@linutronix.de wrote: I'm pleased to announce the v3.18.9-rt4 patch set. Changes since v3.18.9-rt3 Has v3.18.9-rt3 been released? If so, I missed the announcement. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [ANNOUNCE] 3.18.9-rt4
On Sat, Mar 07, 2015 at 12:25:29PM -0300, Gustavo Bittencourt wrote: On Sat, Mar 7, 2015 at 11:15 AM, Sebastian Andrzej Siewior bige...@linutronix.de wrote: I'm pleased to announce the v3.18.9-rt4 patch set. Changes since v3.18.9-rt3 Has v3.18.9-rt3 been released? If so, I missed the announcement. Probably v3.18.9-rt3 is just v3.18.7-rt2 rebased to v3.18.9. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/