Re: [PATCH 2/4] idr: Add a function idr_get()

From: Gargi Sharma
Date: Mon Sep 25 2017 - 13:43:35 EST


On Mon, Sep 25, 2017 at 7:42 PM, Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
> On 09/25, Gargi Sharma wrote:
>>
>> idr_get(namespace, id) returns a NULL if id is not present
>> in the idr tree or returns the pointer to the struct if id is
>> present in the idr tree. With this function in the idr library,
>> code for pid allocation can be simplified by calling this function
>> instead of looking through the pidhash.
>
> Could you explain why find_pid_ns() can't use idr_find() ?

It can. I missed this macro from the IDR library. Will change this
and drop this patch in the next version.

Thanks!
Gargi
>
>> +void * idr_get(struct idr *idr, int *id)
>> +{
>> + struct radix_tree_node *node;
>> + void __rcu **slot = NULL;
>> +
>> + __radix_tree_lookup(&idr->idr_rt, *id, &node, &slot);
>
> so why it takes "int *", not just "int" ?
>
> Oleg.
>