Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
This commit is contained in:
55
include/linux/pid.h
Normal file
55
include/linux/pid.h
Normal file
@@ -0,0 +1,55 @@
|
||||
#ifndef _LINUX_PID_H
|
||||
#define _LINUX_PID_H
|
||||
|
||||
enum pid_type
|
||||
{
|
||||
PIDTYPE_PID,
|
||||
PIDTYPE_TGID,
|
||||
PIDTYPE_PGID,
|
||||
PIDTYPE_SID,
|
||||
PIDTYPE_MAX
|
||||
};
|
||||
|
||||
struct pid
|
||||
{
|
||||
/* Try to keep pid_chain in the same cacheline as nr for find_pid */
|
||||
int nr;
|
||||
struct hlist_node pid_chain;
|
||||
/* list of pids with the same nr, only one of them is in the hash */
|
||||
struct list_head pid_list;
|
||||
};
|
||||
|
||||
#define pid_task(elem, type) \
|
||||
list_entry(elem, struct task_struct, pids[type].pid_list)
|
||||
|
||||
/*
|
||||
* attach_pid() and detach_pid() must be called with the tasklist_lock
|
||||
* write-held.
|
||||
*/
|
||||
extern int FASTCALL(attach_pid(struct task_struct *task, enum pid_type type, int nr));
|
||||
|
||||
extern void FASTCALL(detach_pid(struct task_struct *task, enum pid_type));
|
||||
|
||||
/*
|
||||
* look up a PID in the hash table. Must be called with the tasklist_lock
|
||||
* held.
|
||||
*/
|
||||
extern struct pid *FASTCALL(find_pid(enum pid_type, int));
|
||||
|
||||
extern int alloc_pidmap(void);
|
||||
extern void FASTCALL(free_pidmap(int));
|
||||
extern void switch_exec_pids(struct task_struct *leader, struct task_struct *thread);
|
||||
|
||||
#define do_each_task_pid(who, type, task) \
|
||||
if ((task = find_task_by_pid_type(type, who))) { \
|
||||
prefetch((task)->pids[type].pid_list.next); \
|
||||
do {
|
||||
|
||||
#define while_each_task_pid(who, type, task) \
|
||||
} while (task = pid_task((task)->pids[type].pid_list.next,\
|
||||
type), \
|
||||
prefetch((task)->pids[type].pid_list.next), \
|
||||
hlist_unhashed(&(task)->pids[type].pid_chain)); \
|
||||
} \
|
||||
|
||||
#endif /* _LINUX_PID_H */
|
Reference in New Issue
Block a user