diff options
author | Dmitry Adamushko <dmitry.adamushko@gmail.com> | 2007-12-18 14:21:13 (GMT) |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-12-18 14:21:13 (GMT) |
commit | 051a1d1afa47206e23ae03f781c6795ce870e3d5 (patch) | |
tree | 6ce53c173a3a7582896504ecfc758e993455e5fb /kernel/signal.c | |
parent | c63a1190368771b8207d86c4217ae4afdf1cbd5e (diff) | |
download | linux-fsl-qoriq-051a1d1afa47206e23ae03f781c6795ce870e3d5.tar.xz |
sched: fix crash on ia64, introduce task_current()
Some services (e.g. sched_setscheduler(), rt_mutex_setprio() and
sched_move_task()) must handle a given task differently in case it's the
'rq->curr' task on its run-queue. The task_running() interface is not
suitable for determining such tasks for platforms with one of the
following options:
#define __ARCH_WANT_UNLOCKED_CTXSW
#define __ARCH_WANT_INTERRUPTS_ON_CTXSW
Due to the fact that it makes use of 'p->oncpu == 1' as a criterion but
such a task is not necessarily 'rq->curr'.
The detailed explanation is available here:
https://lists.linux-foundation.org/pipermail/containers/2007-December/009262.html
Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Tested-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Tested-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Diffstat (limited to 'kernel/signal.c')
0 files changed, 0 insertions, 0 deletions