RE: [PATCH v2] proc: report open files as size in stat() for /proc/pid/fd
From: David Laight
Date: Tue Oct 18 2022 - 04:25:35 EST
From: Frank Hofmann
> Sent: 18 October 2022 09:13
>
> On Tue, Oct 18, 2022 at 6:02 AM Ivan Babrou <ivan@xxxxxxxxxxxxxx> wrote:
> >
> > On Mon, Oct 17, 2022 at 6:47 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > > +
> > > > + fdt = files_fdtable(p->files);
> > > > + size = fdt->max_fds;
> > > > +
> > > > + for (i = size / BITS_PER_LONG; i > 0;)
> > > > + open_fds += hweight64(fdt->open_fds[--i]);
> > >
> > > Could BITMAP_WEIGHT() or __bitmap_weight() or bitmap_weight() be used here?
> >
> > That's a great suggestion. I tested it with bitmap_weight() and it
> > looks much cleaner while providing the same result.
> >
> > I just sent the v3 with this suggestion applied.
>
> +1 from me on using bitmap_weight() - good spotting that.
Does that have the optimisations for the value being 0, ~0u
or 2**n-1 all of which are likely for the fd table.
(Especially if there is no 'popcnt' instruction.)
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)