Re: [PATCH v2 03/14] PCI/P2PDMA: Add constants for not-supported result upstream_bridge_distance()

From: Christoph Hellwig
Date: Thu Aug 08 2019 - 03:31:15 EST


On Wed, Aug 07, 2019 at 09:58:06AM -0600, Logan Gunthorpe wrote:
> We only calculate it at the same time as we calculate the distance. This
> is necessary because, to calculate the type, we have to walk the tree
> and check the ACS bits. If we separated it, we'd have to walk the tree
> twice in a very similar way just to determine both the distance and the
> mapping type.

Calculating it together makes perfect sense. What I find odd is the
overloading of a single return value. Why not return the map type as
the return value, and the distance as a by reference argument to keep
them properly separated?