Dear RT Folks,
This is the RT stable review cycle of patch 3.10.47-rt50-rc1.
Please scream at me if I messed something up. Please test the patches too.
The -rc release will be uploaded to kernel.org and will be deleted when
the final release is out. This is just a review release (or release candidate).
The pre-releases will not be pushed to the git repository, only the
final release is.
If all goes well, this patch will be converted to the next main release
on 7/17/2014.
Enjoy,
-- Steve
To build 3.10.47-rt50-rc1 directly, the following patches should be applied:
http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.tar.xz
http://www.kernel.org/pub/linux/kernel/v3.x/patch-3.10.47.xz
http://www.kernel.org/pub/linux/kernel/projects/rt/3.10/patch-3.10.47-rt50-rc1.patch.xz
You can also build from 3.10.47-rt49 by applying the incremental patch:
http://www.kernel.org/pub/linux/kernel/projects/rt/3.10/incr/patch-3.10.47-rt49-rt50-rc1.patch.xz
Changes from 3.10.47-rt49:
---
Steven Rostedt (1):
sched: Do not clear PF_NO_SETAFFINITY flag in select_fallback_rq()
Steven Rostedt (Red Hat) (1):
Linux 3.10.47-rt50-rc1
Thomas Gleixner (1):
workqueue: Prevent deadlock/stall on RT
----
kernel/sched/core.c | 13 +++++-------
kernel/workqueue.c | 61 +++++++++++++++++++++++++++++++++++++++++------------
localversion-rt | 2 +-
3 files changed, 54 insertions(+), 22 deletions(-)
Can we get:
tracing-use-migrate_disable-to-prevent-beeing-pushed.patch
into 3.10, also?
Thanks,
-corey
On 07/14/2014 03:04 PM, Steven Rostedt wrote:
> Dear RT Folks,
>
> This is the RT stable review cycle of patch 3.10.47-rt50-rc1.
>
> Please scream at me if I messed something up. Please test the patches too.
>
> The -rc release will be uploaded to kernel.org and will be deleted when
> the final release is out. This is just a review release (or release candidate).
>
> The pre-releases will not be pushed to the git repository, only the
> final release is.
>
> If all goes well, this patch will be converted to the next main release
> on 7/17/2014.
>
> Enjoy,
>
> -- Steve
>
>
> To build 3.10.47-rt50-rc1 directly, the following patches should be applied:
>
> http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.tar.xz
>
> http://www.kernel.org/pub/linux/kernel/v3.x/patch-3.10.47.xz
>
> http://www.kernel.org/pub/linux/kernel/projects/rt/3.10/patch-3.10.47-rt50-rc1.patch.xz
>
> You can also build from 3.10.47-rt49 by applying the incremental patch:
>
> http://www.kernel.org/pub/linux/kernel/projects/rt/3.10/incr/patch-3.10.47-rt49-rt50-rc1.patch.xz
>
>
> Changes from 3.10.47-rt49:
>
> ---
>
>
> Steven Rostedt (1):
> sched: Do not clear PF_NO_SETAFFINITY flag in select_fallback_rq()
>
> Steven Rostedt (Red Hat) (1):
> Linux 3.10.47-rt50-rc1
>
> Thomas Gleixner (1):
> workqueue: Prevent deadlock/stall on RT
>
> ----
> kernel/sched/core.c | 13 +++++-------
> kernel/workqueue.c | 61 +++++++++++++++++++++++++++++++++++++++++------------
> localversion-rt | 2 +-
> 3 files changed, 54 insertions(+), 22 deletions(-)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 14 Jul 2014 19:09:48 -0500
Corey Minyard <[email protected]> wrote:
> Can we get:
>
> tracing-use-migrate_disable-to-prevent-beeing-pushed.patch
Sure except that patch is buggy:
- preempt_disable();
+ migrate_disable();
/* The update must run on the CPU that is being updated. */
if (cpu_id == smp_processor_id() || !cpu_online(cpu_id))
rb_update_pages(cpu_buffer);
else {
- /*
- * Can not disable preemption for schedule_work_on()
- * on PREEMPT_RT.
- */
- preempt_enable();
schedule_work_on(cpu_id,
&cpu_buffer->update_pages_work);
wait_for_completion(&cpu_buffer->update_done);
- preempt_disable();
}
- preempt_enable();
+ migrate_enable();
migrate_disable() on non-PREEMPT_RT is preempt_disable(). You can't
call wait_or_completion with preemption disabled.
When that gets fixed in mainline -rt, I'll add it to the stable
branches too.
-- Steve
>
> into 3.10, also?
>
On 07/14/2014 07:53 PM, Steven Rostedt wrote:
> On Mon, 14 Jul 2014 19:09:48 -0500
> Corey Minyard <[email protected]> wrote:
>
>> Can we get:
>>
>> tracing-use-migrate_disable-to-prevent-beeing-pushed.patch
> Sure except that patch is buggy:
>
> - preempt_disable();
> + migrate_disable();
> /* The update must run on the CPU that is being updated. */
> if (cpu_id == smp_processor_id() || !cpu_online(cpu_id))
> rb_update_pages(cpu_buffer);
> else {
> - /*
> - * Can not disable preemption for schedule_work_on()
> - * on PREEMPT_RT.
> - */
> - preempt_enable();
> schedule_work_on(cpu_id,
> &cpu_buffer->update_pages_work);
> wait_for_completion(&cpu_buffer->update_done);
> - preempt_disable();
> }
> - preempt_enable();
> + migrate_enable();
>
> migrate_disable() on non-PREEMPT_RT is preempt_disable(). You can't
> call wait_or_completion with preemption disabled.
>
> When that gets fixed in mainline -rt, I'll add it to the stable
> branches too.
I originally did a patch that just always did the else clause (the
schedule_work_on() and wait_for_completion()) on all CPUs. That seemed
to work just fine and simplifies the code a bit and gets rid of all the
preempt/migrate calls. You could try that approach, or I could submit
something if you liked.
-corey
>
> -- Steve
>
>
>
>> into 3.10, also?
>>
On Wed, 16 Jul 2014 09:31:17 -0500
Corey Minyard <[email protected]> wrote:
> I originally did a patch that just always did the else clause (the
> schedule_work_on() and wait_for_completion()) on all CPUs. That seemed
> to work just fine and simplifies the code a bit and gets rid of all the
> preempt/migrate calls. You could try that approach, or I could submit
> something if you liked.
Yeah, perhaps that's the way to go. But it needs to go to mainline
before it goes to -rt.
Can you resend it against my for-next branch.
Thanks,
-- Steve