From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manoj Gupta Subject: Re: [PATCH] nfp: convert nfp_eth_set_bit_config() into a macro Date: Wed, 4 Oct 2017 17:38:22 -0700 Message-ID: References: <20171003200546.165731-1-mka@chromium.org> <1507140439.4434.14.camel@perches.com> <20171004184957.GO173745@google.com> <20171004152203.2a4f564d@cakuba.netronome.com> <20171004231649.GP173745@google.com> <20171004162550.20edf18c@cakuba.netronome.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Cc: Matthias Kaehlcke , Joe Perches , "David S . Miller" , Simon Horman , Dirk van der Merwe , oss-drivers@netronome.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Renato Golin , Guenter Roeck , Doug Anderson To: Jakub Kicinski Return-path: In-Reply-To: <20171004162550.20edf18c@cakuba.netronome.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Hi Jakub, On Wed, Oct 4, 2017 at 4:25 PM, Jakub Kicinski wrote: > On Wed, 4 Oct 2017 16:16:49 -0700, Matthias Kaehlcke wrote: >> > > Thanks for the suggestion. This seems a viable alternative if David >> > > and the NFP owners can live without the extra checking provided by >> > > __BF_FIELD_CHECK. >> > >> > The reason the __BF_FIELD_CHECK refuses to compile non-constant masks >> > is that it will require runtime ffs on the mask, which is potentially >> > costly. I would also feel quite stupid adding those macros to the nfp >> > driver, given that I specifically created the bitfield.h header to not >> > have to reimplement these in every driver I write/maintain. >> >> That make sense, thanks for providing more context. >> >> > Can you please test the patch I provided in the other reply? >> >> With this patch there are no errors when building the kernel with >> clang. > > Cool, thanks for checking! I will run it through full tests and queue > for upstreaming :) Just to let you know, using __BF_FIELD_CHECK macro will not Link with -O0 (GCC or Clang) since references to __compiletime_assert_xxx will not be cleaned up. Thanks, Manoj