Re: [PATCH] staging: vc04_services: add vchiq_pagelist_info structure

From: Michael Zoran
Date: Mon Nov 07 2016 - 10:42:04 EST


On Mon, 2016-11-07 at 11:03 +0100, Greg KH wrote:
> On Mon, Oct 31, 2016 at 01:10:35AM -0700, Michael Zoran wrote:
> > The current dma_map_sg based implementation for bulk messages
> > computes many offsets into a single allocation multiple times in
> > both the create and free code paths.ÂÂThis is inefficient,
> > error prone and in fact still has a few lingering issues
> > with arm64.
> >
> > This change replaces a small portion of that inplementation with
> > new code that uses a new struct vchiq_pagelist_info to store the
> > needed information rather then complex offset calculations.
> >
> > This improved implementation should be more efficient and easier
> > to understand and maintain.
> >
> > Tests Run(Both Pass):
> > vchiq_test -p 1
> > vchiq_test -f 10
> >
> > Signed-off-by: Michael Zoran <mzoran@xxxxxxxxxxxx>
> > ---
> > Â.../interface/vchiq_arm/vchiq_2835_arm.cÂÂÂÂÂÂÂÂÂÂÂ| 223
> > +++++++++++----------
> > Â1 file changed, 113 insertions(+), 110 deletions(-)
>
> This doesn't apply to the tree anymore because of your previous patch
> :(
>
> Can you refresh it and resend?
>
> thanks,
>
> greg k-h

OK, I resubmitted it.

Once this patch gets applied 64-bit should be in decent shape. I'm not
seeing any warnings or errors anymore and functional tests from a 64-
bit OS look good.

The only remaining issue that I know of is that it needs a 32-bit
compatibility layer for the ioctls when running a 32-bit OS(Raspbian)
on top of a 64-bit kernel.