From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id B48C04C71 for ; Tue, 6 Mar 2018 15:45:36 +0100 (CET) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1-us3.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id AE526B4006B; Tue, 6 Mar 2018 14:45:34 +0000 (UTC) Received: from [192.168.38.17] (84.52.114.114) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Tue, 6 Mar 2018 14:45:30 +0000 To: Ferruh Yigit , CC: Ivan Malov 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> From: Andrew Rybchenko Message-ID: Date: Tue, 6 Mar 2018 17:45:25 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <51bd745e-5fdd-90fe-b8c0-32f903cecf2d@intel.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB X-Originating-IP: [84.52.114.114] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.100.1062-23702.003 X-TM-AS-Result: No--10.217600-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-MDID: 1520347535-Ze81XjhhlRAt Subject: Re: [dpdk-dev] [PATCH 2/6] net/sfc: add support for driver-wide dynamic logging X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2018 14:45:36 -0000 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.