[PATCH 3/4] pid.c: Replace pidhash lookup with idr_get()
From: Gargi Sharma
Date: Mon Sep 25 2017 - 08:56:55 EST
pidhash is no longer required as all the functionalities
are present in the idr tree associated with the namespace.
nr can be looked up in the namespace by idr_get().
Signed-off-by: Gargi Sharma <gs051095@xxxxxxxxx>
---
kernel/pid.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/kernel/pid.c b/kernel/pid.c
index ea22e89..761a0c2 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c
@@ -247,15 +247,7 @@ void disable_pid_allocation(struct pid_namespace *ns)
struct pid *find_pid_ns(int nr, struct pid_namespace *ns)
{
- struct upid *pnr;
-
- hlist_for_each_entry_rcu(pnr,
- &pid_hash[pid_hashfn(nr, ns)], pid_chain)
- if (pnr->nr == nr && pnr->ns == ns)
- return container_of(pnr, struct pid,
- numbers[ns->level]);
-
- return NULL;
+ return idr_get(&ns->idr, &nr);
}
EXPORT_SYMBOL_GPL(find_pid_ns);
--
2.7.4