[PATCH 2/2] rheap: move rheap.c from arch/powerpc/lib/ to lib/
Zhao Qiang
qiang.zhao at freescale.com
Thu Jul 9 16:05:47 AEST 2015
On Wed, 2015-07-09 at 11:51 -0500, Wood Scott wrote:
> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Thursday, July 09, 2015 11:51 AM
> To: Zhao Qiang-B45475
> Cc: linuxppc-dev at lists.ozlabs.org; Xie Xiaobo-R63061
> Subject: Re: [PATCH 2/2] rheap: move rheap.c from arch/powerpc/lib/ to
> lib/
>
> On Wed, 2015-07-08 at 22:18 -0500, Zhao Qiang-B45475 wrote:
> > > -----Original Message-----
> > > From: Wood Scott-B07421
> > > Sent: Thursday, July 09, 2015 2:59 AM
> > > To: Zhao Qiang-B45475
> > > Cc: linuxppc-dev at lists.ozlabs.org; Xie Xiaobo-R63061
> > > Subject: Re: [PATCH 2/2] rheap: move rheap.c from arch/powerpc/lib/
> > > to lib/
> > >
> > > On Wed, 2015-07-08 at 02:25 -0500, Zhao Qiang-B45475 wrote:
> > > > So I will add two func for my use, do you think it is ok?
> > > > I need to align the address of allocated muram.
> > > > And I will set algo = gen_pool_first_fit_align.
> > > >
> > > > +unsigned long gen_pool_alloc_align(struct gen_pool *pool, size_t
> size,
> > > > + unsigned long align)
> > >
> > > Again, please explain why you need this for CPM/QE. I don't see
> > > rh_alloc_align() currently being used by either.
> > >
> > > Also, please stop top-posting.
> >
> >
> > unsigned long rh_alloc(struct _rh_info *info, int size, const char
> > *owner) {
> > return rh_alloc_align(info, size, info->alignment, owner); }
> > EXPORT_SYMBOL_GPL(rh_alloc);
>
> That doesn't involve a different alignment for each allocation. It uses
> the same alignment for all of them, and the alignment that cpm_common.c
> provides to rh_init() is 1 byte.
>
> ...but sigh, cpm_muram_alloc() is changing cpm_muram_info.alignment
> behind the rheap code's back. Despite the existence of rh_alloc_align().
>
> So yes, add aligned allocation functionality to genalloc, but don't
> duplicate
> gen_pool_alloc() to do so. Instead, rename gen_pool_alloc() to
> gen_pool_alloc_align() with an alignment parameter (also modifying the
> algo function to take an alignment arg, which
> gen_pool_first_fit_order_align() would ignore), and provide a
Here, I don’t understand how to handle the algo In your mind.
Can you explain more detailly?
> gen_pool_alloc() wrapper that specifies 1 as the required alignment.
> Also be sure to CC lkml on the patchset since you're touching core code
> that doesn't have its own maintainer or list.
>
> -Scott
More information about the Linuxppc-dev
mailing list