2015-04-20 08:58:27

by Liberman Igal

[permalink] [raw]
Subject: RE: [RFC,1/8] soc/fman: Add FMan MURAM support



Regards,
Igal Liberman.

> -----Original Message-----
> From: Kumar Gala [mailto:[email protected]]
> Sent: Thursday, March 12, 2015 5:57 PM
> To: Liberman Igal-B31950
> Cc: [email protected]; [email protected]; linux-
> [email protected]; Wood Scott-B07421
> Subject: Re: [RFC,1/8] soc/fman: Add FMan MURAM support
>
>
> On Mar 11, 2015, at 12:07 AM, Igal.Liberman <[email protected]>
> wrote:
>
> > From: Igal Liberman <[email protected]>
> >
> > Add Frame Manager Multi-User RAM support.
> >
> > Signed-off-by: Igal Liberman <[email protected]>
> > ---
> > drivers/soc/fsl/fman/Kconfig | 1 +
> > drivers/soc/fsl/fman/Makefile | 5 +-
> > drivers/soc/fsl/fman/fm_muram.c | 174
> +++++++++++++++++++++++++++++++
> > drivers/soc/fsl/fman/inc/fm_muram_ext.h | 98 +++++++++++++++++
> > 4 files changed, 276 insertions(+), 2 deletions(-) create mode 100644
> > drivers/soc/fsl/fman/fm_muram.c create mode 100644
> > drivers/soc/fsl/fman/inc/fm_muram_ext.h
> >
>
> use lib/genalloc instead of rheap
>

Hi Kumar,
I looked into lib/genalloc allocator.
As far as I see, the genalloc allocator doesn't allow to control the memory alignment when you allocate a chunk of memory.
Two important notes regarding MURAM memory:
- The allocated memory chunks should have specific alignment (might be different in each chunk).
- The allocations must be efficient, we don't want to "waste" MURAM due to alignment issues.

> - k


2015-04-20 23:57:00

by Scott Wood

[permalink] [raw]
Subject: Re: [RFC,1/8] soc/fman: Add FMan MURAM support

On Mon, 2015-04-20 at 03:58 -0500, Liberman Igal-B31950 wrote:
>
> Regards,
> Igal Liberman.
>
> > -----Original Message-----
> > From: Kumar Gala [mailto:[email protected]]
> > Sent: Thursday, March 12, 2015 5:57 PM
> > To: Liberman Igal-B31950
> > Cc: [email protected]; [email protected]; linux-
> > [email protected]; Wood Scott-B07421
> > Subject: Re: [RFC,1/8] soc/fman: Add FMan MURAM support
> >
> >
> > On Mar 11, 2015, at 12:07 AM, Igal.Liberman <[email protected]>
> > wrote:
> >
> > > From: Igal Liberman <[email protected]>
> > >
> > > Add Frame Manager Multi-User RAM support.
> > >
> > > Signed-off-by: Igal Liberman <[email protected]>
> > > ---
> > > drivers/soc/fsl/fman/Kconfig | 1 +
> > > drivers/soc/fsl/fman/Makefile | 5 +-
> > > drivers/soc/fsl/fman/fm_muram.c | 174
> > +++++++++++++++++++++++++++++++
> > > drivers/soc/fsl/fman/inc/fm_muram_ext.h | 98 +++++++++++++++++
> > > 4 files changed, 276 insertions(+), 2 deletions(-) create mode 100644
> > > drivers/soc/fsl/fman/fm_muram.c create mode 100644
> > > drivers/soc/fsl/fman/inc/fm_muram_ext.h
> > >
> >
> > use lib/genalloc instead of rheap
> >
>
> Hi Kumar,
> I looked into lib/genalloc allocator.
> As far as I see, the genalloc allocator doesn't allow to control the memory alignment when you allocate a chunk of memory.
> Two important notes regarding MURAM memory:
> - The allocated memory chunks should have specific alignment (might be different in each chunk).
> - The allocations must be efficient, we don't want to "waste" MURAM due to alignment issues.

If the requirement is that allocations must be size-aligned, use
gen_pool_first_fit_order_align. Otherwise, improve genalloc to do what
you need.

-Scott