lkml.org 
[lkml]   [2002]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch] scheduler bits from 2.5.23-dj1
On Thu, Jun 20, 2002 at 07:31:18PM +0200, Ingo Molnar wrote:
> looks good to me - what do you think about my other pidhash suggestion:

An excellent idea. I didn't go all the way and make the pidhash entirely
private to fork.c but taking find_task_by_pid() out-of-line is implemented
in the following, built atop the prior patch. I can also privatize the
pidhash entirely if that's wanted.


Cheers,
Bill

diff -urN linux-2.5.23-virgin/include/linux/sched.h linux-2.5.23-wli/include/linux/sched.h
--- linux-2.5.23-virgin/include/linux/sched.h Thu Jun 20 10:53:42 2002
+++ linux-2.5.23-wli/include/linux/sched.h Thu Jun 20 10:55:18 2002
@@ -459,19 +459,7 @@
list_del(&p->pidhash_list);
}

-static inline task_t *find_task_by_pid(int pid)
-{
- list_t *p, *pid_list = &pidhash[pid_hashfn(pid)];
-
- list_for_each(p, pid_list) {
- task_t *t = list_entry(p, task_t, pidhash_list);
-
- if(t->pid == pid)
- return t;
- }
-
- return NULL;
-}
+extern task_t *find_task_by_pid(int pid);

/* per-UID process charging. */
extern struct user_struct * alloc_uid(uid_t);
diff -urN linux-2.5.23-virgin/kernel/fork.c linux-2.5.23-wli/kernel/fork.c
--- linux-2.5.23-virgin/kernel/fork.c Thu Jun 20 10:53:42 2002
+++ linux-2.5.23-wli/kernel/fork.c Thu Jun 20 10:55:55 2002
@@ -69,6 +69,21 @@
INIT_LIST_HEAD(&pidhash[i]);
}

+task_t *find_task_by_pid(int pid)
+{
+ list_t *p, *pid_list = &pidhash[pid_hashfn(pid)];
+
+ list_for_each(p, pid_list) {
+ task_t *t = list_entry(p, task_t, pidhash_list);
+
+ if(t->pid == pid)
+ return t;
+ }
+
+ return NULL;
+}
+EXPORT_SYMBOL(find_task_by_pid);
+
rwlock_t tasklist_lock __cacheline_aligned = RW_LOCK_UNLOCKED; /* outer */

void add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:26    [W:1.420 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site