Messages in this thread | | | From | Gargi Sharma <> | Date | Mon, 25 Sep 2017 23:14:45 +0530 | Subject | Re: [PATCH 3/4] pid.c: Replace pidhash lookup with idr_get() |
| |
On Mon, Sep 25, 2017 at 6:50 PM, Rik van Riel <riel@surriel.com> wrote: > On Mon, 2017-09-25 at 08:56 -0400, Gargi Sharma wrote: >> 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@gmail.com> >> --- >> 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); > > Does this work if you call idr_find instead of idr_get? > > Then patch 2/4 would not be needed. Yes, patch 2/4 can be dropped. I think this patch can be merged with patch 4/4 where I remove pidhash, since this function is more or less aimed at that too?
Thanks! Gargi > > -- > All Rights Reversed.
| |