mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
[PATCH] resurrect __put_task_struct
This just got nuked in mainline. Bring it back because Eric's patches use it. Cc: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
390e2ff077
commit
158d9ebd19
2 changed files with 8 additions and 3 deletions
|
@ -906,6 +906,7 @@ extern void free_task(struct task_struct *tsk);
|
||||||
#define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0)
|
#define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0)
|
||||||
|
|
||||||
extern void __put_task_struct_cb(struct rcu_head *rhp);
|
extern void __put_task_struct_cb(struct rcu_head *rhp);
|
||||||
|
extern void __put_task_struct(struct task_struct *t);
|
||||||
|
|
||||||
static inline void put_task_struct(struct task_struct *t)
|
static inline void put_task_struct(struct task_struct *t)
|
||||||
{
|
{
|
||||||
|
|
|
@ -108,10 +108,8 @@ void free_task(struct task_struct *tsk)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(free_task);
|
EXPORT_SYMBOL(free_task);
|
||||||
|
|
||||||
void __put_task_struct_cb(struct rcu_head *rhp)
|
void __put_task_struct(struct task_struct *tsk)
|
||||||
{
|
{
|
||||||
struct task_struct *tsk = container_of(rhp, struct task_struct, rcu);
|
|
||||||
|
|
||||||
WARN_ON(!(tsk->exit_state & (EXIT_DEAD | EXIT_ZOMBIE)));
|
WARN_ON(!(tsk->exit_state & (EXIT_DEAD | EXIT_ZOMBIE)));
|
||||||
WARN_ON(atomic_read(&tsk->usage));
|
WARN_ON(atomic_read(&tsk->usage));
|
||||||
WARN_ON(tsk == current);
|
WARN_ON(tsk == current);
|
||||||
|
@ -126,6 +124,12 @@ void __put_task_struct_cb(struct rcu_head *rhp)
|
||||||
free_task(tsk);
|
free_task(tsk);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __put_task_struct_cb(struct rcu_head *rhp)
|
||||||
|
{
|
||||||
|
struct task_struct *tsk = container_of(rhp, struct task_struct, rcu);
|
||||||
|
__put_task_struct(tsk);
|
||||||
|
}
|
||||||
|
|
||||||
void __init fork_init(unsigned long mempages)
|
void __init fork_init(unsigned long mempages)
|
||||||
{
|
{
|
||||||
#ifndef __HAVE_ARCH_TASK_STRUCT_ALLOCATOR
|
#ifndef __HAVE_ARCH_TASK_STRUCT_ALLOCATOR
|
||||||
|
|
Loading…
Reference in a new issue