Message ID | 20210630094615.808-1-anand.a.khoje@oracle.com (mailing list archive) |
---|---|
Headers | show |
Series | IB/core: Obtaining subnet_prefix from cache in | expand |
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(-) > Hi, This is just a reminder note requesting review for this patch-set. Thanks, Anand
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(-) > > > > Hi, > > 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 Jason
On 7/9/2021 6:51 PM, Jason Gunthorpe wrote: > 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(-) >>> >> >> Hi, >> >> 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 > > Jason > Hi Jason, Thanks for the response. Ok, I will rebase and resend this patchset. Thx, Anand