some variables definition are gathered to fork_tree_node from process.

- remove both-defined: pid, pgid, status
- move to fork_tree_node: tid
- make dummy fork_tree_node for idle_process.
This commit is contained in:
Tomoki Shirasawa
2014-10-29 16:54:09 +09:00
parent 658ff759ef
commit 3fe7e39607
11 changed files with 102 additions and 126 deletions

View File

@ -658,7 +658,7 @@ static uint64_t futex_wait_queue_me(struct futex_hash_bucket *hb, struct futex_q
* queue_me() calls spin_unlock() upon completion, both serializing
* access to the hash list and forcing another memory barrier.
*/
xchg4(&(cpu_local_var(current)->status), PS_INTERRUPTIBLE);
xchg4(&(cpu_local_var(current)->ftn->status), PS_INTERRUPTIBLE);
queue_me(q, hb);
if (!plist_node_empty(&q->list)) {
@ -674,7 +674,7 @@ static uint64_t futex_wait_queue_me(struct futex_hash_bucket *hb, struct futex_q
}
/* This does not need to be serialized */
cpu_local_var(current)->status = PS_RUNNING;
cpu_local_var(current)->ftn->status = PS_RUNNING;
return time_remain;
}