Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 8555
b: refs/heads/master
c: 1df5c10
h: refs/heads/master
i:
  8553: 2a9e345
  8551: 70616a9
v: v3
  • Loading branch information
Linus Torvalds committed Sep 12, 2005
1 parent 863ab4d commit ae2e7a9
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c3ff8ec31c1249d268cd11390649768a12bec1b9
refs/heads/master: 1df5c10a5b40d1ad747e3de3caf28764153c5c8e
70 changes: 44 additions & 26 deletions trunk/kernel/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -3576,32 +3576,6 @@ task_t *idle_task(int cpu)
return cpu_rq(cpu)->idle;
}

/**
* curr_task - return the current task for a given cpu.
* @cpu: the processor in question.
*/
task_t *curr_task(int cpu)
{
return cpu_curr(cpu);
}

/**
* set_curr_task - set the current task for a given cpu.
* @cpu: the processor in question.
* @p: the task pointer to set.
*
* Description: This function must only be used when non-maskable interrupts
* are serviced on a separate stack. It allows the architecture to switch the
* notion of the current task on a cpu in a non-blocking manner. This function
* must be called with interrupts disabled, the caller must save the original
* value of the current task (see curr_task() above) and restore that value
* before reenabling interrupts.
*/
void set_curr_task(int cpu, task_t *p)
{
cpu_curr(cpu) = p;
}

/**
* find_process_by_pid - find a process with a matching PID value.
* @pid: the pid in question.
Expand Down Expand Up @@ -5628,3 +5602,47 @@ void normalize_rt_tasks(void)
}

#endif /* CONFIG_MAGIC_SYSRQ */

#ifdef CONFIG_IA64
/*
* These functions are only useful for the IA64 MCA handling.
*
* They can only be called when the whole system has been
* stopped - every CPU needs to be quiescent, and no scheduling
* activity can take place. Using them for anything else would
* be a serious bug, and as a result, they aren't even visible
* under any other configuration.
*/

/**
* curr_task - return the current task for a given cpu.
* @cpu: the processor in question.
*
* ONLY VALID WHEN THE WHOLE SYSTEM IS STOPPED!
*/
task_t *curr_task(int cpu)
{
return cpu_curr(cpu);
}

/**
* set_curr_task - set the current task for a given cpu.
* @cpu: the processor in question.
* @p: the task pointer to set.
*
* Description: This function must only be used when non-maskable interrupts
* are serviced on a separate stack. It allows the architecture to switch the
* notion of the current task on a cpu in a non-blocking manner. This function
* must be called with all CPU's synchronized, and interrupts disabled, the
* and caller must save the original value of the current task (see
* curr_task() above) and restore that value before reenabling interrupts and
* re-starting the system.
*
* ONLY VALID WHEN THE WHOLE SYSTEM IS STOPPED!
*/
void set_curr_task(int cpu, task_t *p)
{
cpu_curr(cpu) = p;
}

#endif

0 comments on commit ae2e7a9

Please sign in to comment.