From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Rybchenko Subject: Re: [PATCH 2/6] net/sfc: add support for driver-wide dynamic logging Date: Tue, 6 Mar 2018 17:56:14 +0300 Message-ID: <8b5e125d-b04a-b992-e99a-16412f8703d3@solarflare.com> References: <1516899647-8541-1-git-send-email-arybchenko@solarflare.com> <1516899647-8541-3-git-send-email-arybchenko@solarflare.com> <51bd745e-5fdd-90fe-b8c0-32f903cecf2d@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Cc: Ivan Malov To: Ferruh Yigit , Return-path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 2CE564C7F for ; Tue, 6 Mar 2018 15:56:24 +0100 (CET) In-Reply-To: Content-Language: en-GB List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 03/06/2018 05:45 PM, Andrew Rybchenko wrote: > On 03/05/2018 05:59 PM, Ferruh Yigit wrote: >> On 1/25/2018 5:00 PM, Andrew Rybchenko wrote: >>> From: Ivan Malov >>> >>> Signed-off-by: Ivan Malov >>> Signed-off-by: Andrew Rybchenko >>> Reviewed-by: Andy Moreton >> <...> >> >>> @@ -2082,3 +2084,14 @@ RTE_PMD_REGISTER_PARAM_STRING(net_sfc_efx, >>>       SFC_KVARG_STATS_UPDATE_PERIOD_MS "= " >>>       SFC_KVARG_MCDI_LOGGING "=" SFC_KVARG_VALUES_BOOL " " >>>       SFC_KVARG_DEBUG_INIT "=" SFC_KVARG_VALUES_BOOL); >>> + >>> +RTE_INIT(sfc_driver_register_logtype); >>> +static void >>> +sfc_driver_register_logtype(void) >>> +{ >>> +    int ret; >>> + >>> +    ret = rte_log_register_type_and_pick_level(SFC_LOGTYPE_PREFIX >>> "driver", >>> +                           RTE_LOG_NOTICE); >> No benefit of using rte_log_register_type_and_pick_level() here, in >> this stage >> "opt_loglevel_list" will be empty and this will be same as >> rte_log_register() > > That's true except "uniform approach is good". I.e. simply use > rte_log_register_type_and_pick_level() everywhere to make it safe against > code movements. > In fact it was raised during internal review and we kept as you can > see it. > > Other option is to avoid usage of constructor here at all and move it > to probe. > Yes, it will be tried many times, but there is no harm if it is > already registered. In fact it could be really required if dynamic library is used and it is pulled later using dlopen() - don't know if there are any restrictions in DPDK which prevent it.