Re: [PATCH 07/10] swiotlb: refactor swiotlb_map_page

From: Christoph Hellwig
Date: Fri Oct 19 2018 - 02:53:02 EST


On Thu, Oct 18, 2018 at 08:37:15PM -0400, Konrad Rzeszutek Wilk wrote:
> > > + if (!dma_capable(dev, dma_addr, size) ||
> > > + swiotlb_force == SWIOTLB_FORCE) {
> > > + trace_swiotlb_bounced(dev, dma_addr, size, swiotlb_force);
> > > + dma_addr = swiotlb_bounce_page(dev, &phys, size, dir, attrs);
> > > + }
> >
> > FWIW I prefer the inverse condition and early return of the original code
> > here, which also then allows a tail-call to swiotlb_bounce_page() (and saves
> > a couple of lines), but it's no biggie.
> >
> > Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx>
>
> I agree with Robin - it certainly makes it easier to read.
>
> With that small change:
> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>

So I did this edit, and in this patch it does indeed look much cleaner.
But in patch 9 we introduce the cache maintainance, and have to invert
the condition again if we don't want a goto mess:

---