Thread (8 messages) 8 messages, 2 authors, 2014-07-16

Re: [PATCH RT 0/3] Linux 3.10.47-rt50-rc1

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2014-07-15 00:53:38
Also in: lkml

On Mon, 14 Jul 2014 19:09:48 -0500
Corey Minyard [off-list ref] 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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help