Messages in this thread | | | Date | Mon, 11 Sep 2023 15:05:44 +0200 | From | Maxime Chevallier <> | Subject | Re: [RFC PATCH net-next 1/7] net: phy: introduce phy numbering and phy namespaces |
| |
Hello Jakub,
On Fri, 8 Sep 2023 08:36:08 -0700 Jakub Kicinski <kuba@kernel.org> wrote:
> On Thu, 7 Sep 2023 14:19:04 +0200 Maxime Chevallier wrote: > > > I think you can simplify this code quite a bit by using idr. > > > idr_alloc_cyclic() looks like it will do the allocation you want, > > > plus the IDR subsystem will store the pointer to the object (in > > > this case the phy device) and allow you to look that up. That > > > probably gets rid of quite a bit of code. > > > > > > You will need to handle the locking around IDR however. > > > > Oh thanks for pointing this out. I had considered idr but I didn't spot > > the _cyclic() helper, and I had ruled that out thinking it would re-use > > ids directly after freeing them. I'll be more than happy to use that. > > Perhaps use xarray directly, I don't think we need the @base offset or > quick access to @next which AFAICT is the only reason one would prefer > IDR?
Oh indeed xa_alloc_cyclic looks to fit perfectly, thanks !
Maxime
| |