[PATCH v2 02/14] lmb: Rename interior piece to area

Simon Glass sjg at chromium.org
Fri Sep 1 16:29:37 CEST 2023


Hi Heinrich,

On Fri, 1 Sept 2023 at 00:16, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 9/1/23 03:13, Simon Glass wrote:
> > The lmb data structures use the word 'region' to describe the region in
> > which the allocations happen, as well as the individual allocations in
> > that region. The interior structure is called lmb_property but is
> > described as a region.
> >
> > This is quite confusing. One of the reviewers in v1 asked why we are using
> > a property to describe a region!
>
> We currently have:
>
> struct lmb_region - Description of a set of region.
> struct lmb_property - Description of one region.
>
> The word 'region' implies that it is contiguous, while 'region set'
> implies that its members might not be contiguous.

>From what I can tell, the areas inside a region are contiguous. The
code is so badly commented that it is hard to know what the intent
was.

Actually I just looked it up and found it came from Linux, so I
suppose that explains the lack of comments. There it has been renamed
memblock.

Could you take a look and see if we could adopt the same naming?

>
> Calling a set region is what starts the confusion.
>
> Your patch is creating new confusion by calling a member of "a set of
> regions" "area".
>
> Please, rename as follows:
>
> lmb_region -> lmb_region_set

That sounds like it sets a region

> lmb_property -> lmb_region
>
> The comments below are only valid if you stick with area which I
> strongly discourage.

Fair enough, I don't like it much either.

>
> >
> > It seems better to adopt the word 'area' for the internal pieces, since an
> > area is smaller than a region.
> >
> > As a first step to improve this, rename struct lmb_property to lmb_area.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > (no changes since v1)
> >
> >   include/lmb.h  | 12 ++++++------
> >   test/lib/lmb.c |  2 +-
> >   2 files changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/include/lmb.h b/include/lmb.h
> > index 231b68b27d91..4b7664f22c1d 100644
> > --- a/include/lmb.h
> > +++ b/include/lmb.h
> > @@ -23,13 +23,13 @@ enum lmb_flags {
> >   };
> >
> >   /**
> > - * struct lmb_property - Description of one region.
> > + * struct lmb_area - Description of one region.
>
> %s/region/memory area/
>
> For struct lmb_area we need a long text explaining what it describes.
>
> >    *
> >    * @base:   Base address of the region.
> >    * @size:   Size of the region
> >    * @flags:  memory region attributes
> >    */
> > -struct lmb_property {
> > +struct lmb_area {
> >       phys_addr_t base;
> >       phys_size_t size;
> >       enum lmb_flags flags;
> > @@ -64,9 +64,9 @@ struct lmb_region {
> >       unsigned long cnt;
> >       unsigned long max;
> >   #if IS_ENABLED(CONFIG_LMB_USE_MAX_REGIONS)
>
> %s/MAX_REGIONS/MAX_AREAS/
>
> > -     struct lmb_property region[CONFIG_LMB_MAX_REGIONS];
> > +     struct lmb_area region[CONFIG_LMB_MAX_REGIONS];
>
> This is really confusing: An area called region and indexed by something
> related to regions not areas.
>
> >   #else
> > -     struct lmb_property *region;
> > +     struct lmb_area *region;
>
> ditto
>
> Best regards
>
> Heinrich
>
> >   #endif
> >   };
> >
> > @@ -87,8 +87,8 @@ struct lmb {
> >       struct lmb_region memory;
> >       struct lmb_region reserved;
> >   #if !IS_ENABLED(CONFIG_LMB_USE_MAX_REGIONS)
> > -     struct lmb_property memory_regions[CONFIG_LMB_MEMORY_REGIONS];
> > -     struct lmb_property reserved_regions[CONFIG_LMB_RESERVED_REGIONS];
> > +     struct lmb_area memory_regions[CONFIG_LMB_MEMORY_REGIONS];
> > +     struct lmb_area reserved_regions[CONFIG_LMB_RESERVED_REGIONS];
> >   #endif
> >   };
> >
> > diff --git a/test/lib/lmb.c b/test/lib/lmb.c
> > index 162887503588..59b140fde4ce 100644
> > --- a/test/lib/lmb.c
> > +++ b/test/lib/lmb.c
> > @@ -12,7 +12,7 @@
> >   #include <test/test.h>
> >   #include <test/ut.h>
> >
> > -static inline bool lmb_is_nomap(struct lmb_property *m)
> > +static inline bool lmb_is_nomap(struct lmb_area *m)
> >   {
> >       return m->flags & LMB_NOMAP;
> >   }
>

Regards,
Simon


More information about the U-Boot mailing list