Module: xenomai-gch Branch: for-forge Commit: 6e1010d0a977fb07039e678e2421d5ffa4c69027 URL: http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=6e1010d0a977fb07039e678e2421d5ffa4c69027
Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org> Date: Fri Oct 16 11:27:39 2015 +0200 cobalt/sched: add missing rescheduling point handle_setaffinity_event calls xnthread_migrate_passive() which sets the reschedling bit. Since this bit is visible on other cpus, and may cause them to avoid sending a rescheduling IPI, call xnsched_run() to clear it. --- kernel/cobalt/posix/process.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/cobalt/posix/process.c b/kernel/cobalt/posix/process.c index c5a3297..543f095 100644 --- a/kernel/cobalt/posix/process.c +++ b/kernel/cobalt/posix/process.c @@ -851,6 +851,7 @@ static int handle_setaffinity_event(struct ipipe_cpu_migration_data *d) xnthread_test_state(thread, XNTHREAD_BLOCK_BITS)) { sched = xnsched_struct(d->dest_cpu); xnthread_migrate_passive(thread, sched); + xnsched_run(); } xnlock_put_irqrestore(&nklock, s); } _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git