Re: [PATCH v7 for-next 0/3] IB/core: Obtaining subnet_prefix from cache in
From: Jason Gunthorpe
Date: Fri Jul 09 2021 - 09:21:27 EST
On Tue, Jul 06, 2021 at 12:55:48PM +0530, Anand Khoje wrote:
> On 6/30/2021 3:16 PM, Anand Khoje wrote:
> > This v7 of patch series is used to read the port_attribute subnet_prefix
> > from a valid cache entry instead of having to call
> > device->ops.query_gid() for Infiniband link-layer devices in
> > __ib_query_port().
> > In the event of a cache update, the value for subnet_prefix gets read
> > using device->ops.query_gid() in config_non_roce_gid_cache().
> > Anand Khoje (3):
> > IB/core: Updating cache for subnet_prefix in
> > config_non_roce_gid_cache()
> > IB/core: Shifting initialization of device->cache_lock.
> > IB/core: Read subnet_prefix in ib_query_port via cache.
> > v1 -> v2:
> > - Split the v1 patch in 3 patches as per Leon's suggestion.
> > v2 -> v3:
> > - Added changes as per Mark Zhang's suggestion of clearing
> > flags in git_table_cleanup_one().
> > v3 -> v4:
> > - Removed the enum ib_port_data_flags and 8 byte flags from
> > struct ib_port_data, and the set_bit()/clear_bit() API
> > used to update this flag as that was not necessary.
> > Done to keep the code simple.
> > - Added code to read subnet_prefix from updated GID cache in the
> > event of cache update. Prior to this change, ib_cache_update
> > was reading the value for subnet_prefix via ib_query_port(),
> > due to this patch, we ended up reading a stale cached value of
> > subnet_prefix.
> > v4 -> v5:
> > - Removed the code to reset cache_is_initialised bit from cleanup
> > as per Leon's suggestion.
> > - Removed ib_cache_is_initialised() function.
> > v5 -> v6:
> > - Added changes as per Jason's suggestion of updating subnet_prefix
> > in config_non_roce_gid_cache() and removing the flag
> > cache_is_initialized in __ib_query_port().
> > v6 -> v7:
> > - Reordering the initialization of cache_lock, as the previous
> > version caused an access to uninitialized cache_lock.
> > drivers/infiniband/core/cache.c | 10 +++++-----
> > drivers/infiniband/core/device.c | 10 ++++------
> > 2 files changed, 9 insertions(+), 11 deletions(-)
> This is just a reminder note requesting review for this patch-set.
You'll probably have to resend it after the merge window closed on
Monday, rebased on the new rc1