From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EE17C48BE6 for ; Mon, 14 Jun 2021 07:25:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 61F67613C5 for ; Mon, 14 Jun 2021 07:25:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232486AbhFNH1j (ORCPT ); Mon, 14 Jun 2021 03:27:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:51972 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232454AbhFNH1j (ORCPT ); Mon, 14 Jun 2021 03:27:39 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 45D85613C3; Mon, 14 Jun 2021 07:25:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623655535; bh=6fnOGnEJwjNZCWpw7r4U37RPUuXg/sl8PL80A20gFpQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=N3VcW2twsucfZ5JVLqWfrdl6FdDF5BezyhACYGnXM5FIJLXrc8AQhF8mki5SjLSRJ FPbzurCr4ah3RsNQPnd035M3MxHyy7ltauDLCkzezA8SZhA6MwaZnhJPkiWh5PTsVY yFWSmdxezPAD4YXFgsuQr5n18Lt2wDNvs51b/jF2Ht21DeH0MOYRLAv9A1whVIIBh8 i3/Kgzghp39e+d7/FGfAollPDoaZ39zivMeuD23UVn3OnpIDGuGlGN0DLjscDGkYQT vToYT1IK8t4NSZIA6mnMVmBxZ8JzFJpwyHGhoTMEt8hQc/abUfwIx2jNBQqpQzA+IY XkP+6VwMordvg== Date: Mon, 14 Jun 2021 10:25:32 +0300 From: Leon Romanovsky To: Haakon Bugge Cc: Anand Khoje , OFED mailing list , "linux-kernel@vger.kernel.org" , "dledford@redhat.com" , "jgg@ziepe.ca" Subject: Re: [PATCH v3 3/3] IB/core: Obtain subnet_prefix from cache in IB devices. Message-ID: References: <20210609055534.855-1-anand.a.khoje@oracle.com> <20210609055534.855-4-anand.a.khoje@oracle.com> <30CD8612-2030-44C1-A879-9A1EC668FC9C@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <30CD8612-2030-44C1-A879-9A1EC668FC9C@oracle.com> Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org On Mon, Jun 14, 2021 at 03:32:39AM +0000, Haakon Bugge wrote: > > > > On 9 Jun 2021, at 12:40, Leon Romanovsky wrote: > > > > On Wed, Jun 09, 2021 at 09:26:03AM +0000, Anand Khoje wrote: > >> Hi Leon, > > > > Please don't do top-posting. > > > > > >> > >> The set_bit()/clear_bit() and enum ib_port_data_flags has been added as a device that can be used for future enhancements. > >> Also, usage of set_bit()/clear_bit() ensures the operations on this bit is atomic. > > > > The bitfield variables are better suit this use case. > > Let's don't overcomplicate code without the reason. > > The problem is always that people tend to build on what's in there. For example, look at the bitfields in rdma_id_private, tos_set, timeout_set, and min_rnr_timer_set. > > What do you think will happen when, let's say, rdma_set_service_type() and rdma_set_ack_timeout() are called in close proximity in time? There is no locking, and the RMW will fail intermittently. We are talking about device initialization flow that shouldn't be performed in parallel to another initialization of same device, so the comparison to rdma-cm is not valid here. Thanks