From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9E101A0613 for ; Tue, 27 Aug 2019 14:52:13 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7C7222862; Tue, 27 Aug 2019 14:52:12 +0200 (CEST) Received: from mail-ed1-f67.google.com (mail-ed1-f67.google.com [209.85.208.67]) by dpdk.org (Postfix) with ESMTP id 45FED1DBD for ; Tue, 27 Aug 2019 14:52:11 +0200 (CEST) Received: by mail-ed1-f67.google.com with SMTP id h8so31252990edv.7 for ; Tue, 27 Aug 2019 05:52:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=6MDq1WOq8ahKko5LlaimVR7p0OvG9LYmWoRI1jg+XbM=; b=E0w164aQzpZn0ldMfJYGySWDgyFaKECOHT/4yWB96SDR6UuKA7ho+969jfUzcQtU3S VBIO5DvhuJjzCZC/uwSJgz7+QUumJmwga3lfGEAXdeFWBfoAd3KhW3IXlYi1kewmV+P7 CT/T1sI0R79MP2xc9W5c++MHz/lLoaQXBzD90cvXEncn/lD9Xa4q/uaLPwaUyAkIf+WG NADmseGGpJV1KAIylHuJ04WO74ecFsHrRy4bPYXHYlkRvGEHlZxfNVZfJAY/CeL0pFkz jEe42wrIbQs4bIzQyv+qr3GsJxa42XkGmgkzLAH7uphpCZE2IjZq9Hy0aGu5hUFvdovk AVBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=6MDq1WOq8ahKko5LlaimVR7p0OvG9LYmWoRI1jg+XbM=; b=PNtzCCEY+cVzHBD5khpsppA+E2u0w4N2kE4YaKqQ5lOHvyoR6Fnf4C0jsIMzbMSizU JLFlRSc6nJJ/vuoBuvnjGXQI6WO9F0STtxEya0gXlcmFtjSGxd57NTmWEa6RkspQ4QGM /mpp5oB4k/g31P7UJj6l/5xrNIo7kvEwBDJK/fknwhBOgPwQexaw0x/Zcd9NsWreYyex pstHdj/Rhq7uwDfD7z3Rtn7xn1naSVwOXXZ2/H554988dSiQ4qIuPrmsXly8Eyh/ShTq j+LoAm1JV8xEYq8RVT+iCq0kM8p6c+QhiyCheNj5paibalANJndiBUtBfLs0skOHaQX5 HQ9w== X-Gm-Message-State: APjAAAW9Y7NB7lIGTM0NOMlbOQ11vJUmX95PEXuS3aBxEp0lmUv7uOYq PbqUpOlcNj1TMLRfWCeXXQbYf+rYBy0sRSRP/qIPDQ== X-Google-Smtp-Source: APXvYqxtNGlLr7x9FKA6w/KXsokK+MHQ71d9K6tZ45+Vw76mqclUhlawGdN5LASOFb0HEZHolLanKA1R9JKqMMrHw3k= X-Received: by 2002:a50:ae84:: with SMTP id e4mr24175024edd.33.1566910330874; Tue, 27 Aug 2019 05:52:10 -0700 (PDT) MIME-Version: 1.0 References: <20190716134327.0d4e641b@hermes.lan> In-Reply-To: <20190716134327.0d4e641b@hermes.lan> From: =?UTF-8?Q?Micha=C5=82_Krawczyk?= Date: Tue, 27 Aug 2019 14:51:59 +0200 Message-ID: To: Stephen Hemminger Cc: Marcin Wojtas , "Tzalik, Guy" , "Schmeilin, Evgeny" , dev@dpdk.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [RFC] net/ena: use dynamic log type for debug 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" wt., 16 lip 2019 o 22:43 Stephen Hemminger napisa=C5=82(a): > > The generic RTE_LOGTYPE_PMD is a historical relic and should > not be used. Every driver must use dynamic logtypes. > > Compile tested only! > > Signed-off-by: Stephen Hemminger Tested-by: Michal Krawczyk > --- > drivers/net/ena/base/ena_plat_dpdk.h | 20 ++-- > drivers/net/ena/ena_ethdev.c | 167 ++++++++++++++++----------- > drivers/net/ena/ena_logs.h | 18 ++- > 3 files changed, 125 insertions(+), 80 deletions(-) > > diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/= ena_plat_dpdk.h > index 902d91efbe38..0909bfc4835d 100644 > --- a/drivers/net/ena/base/ena_plat_dpdk.h > +++ b/drivers/net/ena/base/ena_plat_dpdk.h > @@ -98,11 +98,13 @@ typedef uint64_t dma_addr_t; > #define ENA_GET_SYSTEM_USECS() \ > (rte_get_timer_cycles() * US_PER_S / rte_get_timer_hz()) > > +extern int ena_logtype_com; > #if RTE_LOG_DP_LEVEL >=3D RTE_LOG_DEBUG > #define ENA_ASSERT(cond, format, arg...) \ > do { \ > if (unlikely(!(cond))) { \ > - RTE_LOG(ERR, PMD, format, ##arg); \ > + rte_log(RTE_LOGTYPE_ERR, ena_logtype_com, \ > + format, ##arg); \ > rte_panic("line %d\tassert \"" #cond "\"" \ > "failed\n", __LINE__); \ > } \ > @@ -127,14 +129,14 @@ typedef uint64_t dma_addr_t; > (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h)))) > > #ifdef RTE_LIBRTE_ENA_COM_DEBUG > -#define ena_trc_dbg(format, arg...) \ > - RTE_LOG(DEBUG, PMD, "[ENA_COM: %s] " format, __func__, ##arg) > -#define ena_trc_info(format, arg...) \ > - RTE_LOG(INFO, PMD, "[ENA_COM: %s] " format, __func__, ##arg) > -#define ena_trc_warn(format, arg...) \ > - RTE_LOG(ERR, PMD, "[ENA_COM: %s] " format, __func__, ##arg) > -#define ena_trc_err(format, arg...) \ > - RTE_LOG(ERR, PMD, "[ENA_COM: %s] " format, __func__, ##arg) > +#define ena_trc_log(level, fmt, arg...) \ > + rte_log(RTE_LOG_ ## level, ena_logtype_com, \ > + "[ENA_COM: %s]" fmt, __func__, ##arg) > + > +#define ena_trc_dbg(format, arg...) ena_trc_log(DEBUG, format, ##arg) > +#define ena_trc_info(format, arg...) ena_trc_log(INFO, format, ##arg) > +#define ena_trc_warn(format, arg...) ena_trc_log(WARNING, format, ##ar= g) > +#define ena_trc_err(format, arg...) ena_trc_log(ERR, format, ##arg) > #else > #define ena_trc_dbg(format, arg...) do { } while (0) > #define ena_trc_info(format, arg...) do { } while (0) > diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c > index f5833408044c..4a67298e9d1f 100644 > --- a/drivers/net/ena/ena_ethdev.c > +++ b/drivers/net/ena/ena_ethdev.c > @@ -178,6 +178,19 @@ static const struct ena_stats ena_stats_rx_strings[]= =3D { > int ena_logtype_init; > int ena_logtype_driver; > > +#ifdef RTE_LIBRTE_ENA_DEBUG_RX > +int ena_logtype_rx; > +#endif > +#ifdef RTE_LIBRTE_ENA_DEBUG_TX > +int ena_logtype_tx; > +#endif > +#ifdef RTE_LIBRTE_ENA_DEBUG_TX_FREE > +int ena_logtype_tx_free; > +#endif > +#ifdef RTE_LIBRTE_ENA_COM_DEBUG > +int ena_logtype_com; > +#endif > + > static const struct rte_pci_id pci_id_ena_map[] =3D { > { RTE_PCI_DEVICE(PCI_VENDOR_ID_AMAZON, PCI_DEVICE_ID_ENA_VF) }, > { RTE_PCI_DEVICE(PCI_VENDOR_ID_AMAZON, PCI_DEVICE_ID_ENA_LLQ_VF) = }, > @@ -358,7 +371,7 @@ static inline int validate_rx_req_id(struct ena_ring = *rx_ring, uint16_t req_id) > if (likely(req_id < rx_ring->ring_size)) > return 0; > > - RTE_LOG(ERR, PMD, "Invalid rx req_id: %hu\n", req_id); > + PMD_DRV_LOG(ERR, "Invalid rx req_id: %hu\n", req_id); > > rx_ring->adapter->reset_reason =3D ENA_REGS_RESET_INV_RX_REQ_ID; > rx_ring->adapter->trigger_reset =3D true; > @@ -378,9 +391,9 @@ static int validate_tx_req_id(struct ena_ring *tx_rin= g, u16 req_id) > } > > if (tx_info) > - RTE_LOG(ERR, PMD, "tx_info doesn't have valid mbuf\n"); > + PMD_DRV_LOG(ERR, "tx_info doesn't have valid mbuf\n"); > else > - RTE_LOG(ERR, PMD, "Invalid req_id: %hu\n", req_id); > + PMD_DRV_LOG(ERR, "Invalid req_id: %hu\n", req_id); > > /* Trigger device reset */ > ++tx_ring->tx_stats.bad_req_id; > @@ -397,7 +410,7 @@ static void ena_config_host_info(struct ena_com_dev *= ena_dev) > /* Allocate only the host info */ > rc =3D ena_com_allocate_host_info(ena_dev); > if (rc) { > - RTE_LOG(ERR, PMD, "Cannot allocate host info\n"); > + PMD_DRV_LOG(ERR, "Cannot allocate host info\n"); > return; > } > > @@ -420,9 +433,9 @@ static void ena_config_host_info(struct ena_com_dev *= ena_dev) > rc =3D ena_com_set_host_attributes(ena_dev); > if (rc) { > if (rc =3D=3D -ENA_COM_UNSUPPORTED) > - RTE_LOG(WARNING, PMD, "Cannot set host attributes= \n"); > + PMD_DRV_LOG(WARNING, "Cannot set host attributes\= n"); > else > - RTE_LOG(ERR, PMD, "Cannot set host attributes\n")= ; > + PMD_DRV_LOG(ERR, "Cannot set host attributes\n"); > > goto err; > } > @@ -453,16 +466,16 @@ static void ena_config_debug_area(struct ena_adapte= r *adapter) > > rc =3D ena_com_allocate_debug_area(&adapter->ena_dev, debug_area_= size); > if (rc) { > - RTE_LOG(ERR, PMD, "Cannot allocate debug area\n"); > + PMD_DRV_LOG(ERR, "Cannot allocate debug area\n"); > return; > } > > rc =3D ena_com_set_host_attributes(&adapter->ena_dev); > if (rc) { > if (rc =3D=3D -ENA_COM_UNSUPPORTED) > - RTE_LOG(WARNING, PMD, "Cannot set host attributes= \n"); > + PMD_DRV_LOG(WARNING, "Cannot set host attributes\= n"); > else > - RTE_LOG(ERR, PMD, "Cannot set host attributes\n")= ; > + PMD_DRV_LOG(ERR, "Cannot set host attributes\n"); > > goto err; > } > @@ -528,7 +541,7 @@ static int ena_rss_reta_update(struct rte_eth_dev *de= v, > return -EINVAL; > > if (reta_size > ENA_RX_RSS_TABLE_SIZE) { > - RTE_LOG(WARNING, PMD, > + PMD_DRV_LOG(WARNING, > "indirection table %d is bigger than supported (%= d)\n", > reta_size, ENA_RX_RSS_TABLE_SIZE); > return -EINVAL; > @@ -548,7 +561,7 @@ static int ena_rss_reta_update(struct rte_eth_dev *de= v, > i, > entry_valu= e); > if (unlikely(rc && rc !=3D ENA_COM_UNSUPPORTED)) = { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "Cannot fill indirect table\n"); > return rc; > } > @@ -557,11 +570,11 @@ static int ena_rss_reta_update(struct rte_eth_dev *= dev, > > rc =3D ena_com_indirect_table_set(ena_dev); > if (unlikely(rc && rc !=3D ENA_COM_UNSUPPORTED)) { > - RTE_LOG(ERR, PMD, "Cannot flush the indirect table\n"); > + PMD_DRV_LOG(ERR, "Cannot flush the indirect table\n"); > return rc; > } > > - RTE_LOG(DEBUG, PMD, "%s(): RSS configured %d entries for port %d= \n", > + PMD_DRV_LOG(DEBUG, "%s(): RSS configured %d entries for port %d\= n", > __func__, reta_size, adapter->rte_dev->data->port_id); > > return 0; > @@ -586,7 +599,7 @@ static int ena_rss_reta_query(struct rte_eth_dev *dev= , > > rc =3D ena_com_indirect_table_get(ena_dev, indirect_table); > if (unlikely(rc && rc !=3D ENA_COM_UNSUPPORTED)) { > - RTE_LOG(ERR, PMD, "cannot get indirect table\n"); > + PMD_DRV_LOG(ERR, "cannot get indirect table\n"); > return -ENOTSUP; > } > > @@ -610,7 +623,7 @@ static int ena_rss_init_default(struct ena_adapter *a= dapter) > > rc =3D ena_com_rss_init(ena_dev, ENA_RX_RSS_TABLE_LOG_SIZE); > if (unlikely(rc)) { > - RTE_LOG(ERR, PMD, "Cannot init indirect table\n"); > + PMD_DRV_LOG(ERR, "Cannot init indirect table\n"); > goto err_rss_init; > } > > @@ -619,7 +632,7 @@ static int ena_rss_init_default(struct ena_adapter *a= dapter) > rc =3D ena_com_indirect_table_fill_entry(ena_dev, i, > ENA_IO_RXQ_IDX(val= )); > if (unlikely(rc && (rc !=3D ENA_COM_UNSUPPORTED))) { > - RTE_LOG(ERR, PMD, "Cannot fill indirect table\n")= ; > + PMD_DRV_LOG(ERR, "Cannot fill indirect table\n"); > goto err_fill_indir; > } > } > @@ -627,22 +640,22 @@ static int ena_rss_init_default(struct ena_adapter = *adapter) > rc =3D ena_com_fill_hash_function(ena_dev, ENA_ADMIN_CRC32, NULL, > ENA_HASH_KEY_SIZE, 0xFFFFFFFF); > if (unlikely(rc && (rc !=3D ENA_COM_UNSUPPORTED))) { > - RTE_LOG(INFO, PMD, "Cannot fill hash function\n"); > + PMD_DRV_LOG(INFO, "Cannot fill hash function\n"); > goto err_fill_indir; > } > > rc =3D ena_com_set_default_hash_ctrl(ena_dev); > if (unlikely(rc && (rc !=3D ENA_COM_UNSUPPORTED))) { > - RTE_LOG(INFO, PMD, "Cannot fill hash control\n"); > + PMD_DRV_LOG(INFO, "Cannot fill hash control\n"); > goto err_fill_indir; > } > > rc =3D ena_com_indirect_table_set(ena_dev); > if (unlikely(rc && (rc !=3D ENA_COM_UNSUPPORTED))) { > - RTE_LOG(ERR, PMD, "Cannot flush the indirect table\n"); > + PMD_DRV_LOG(ERR, "Cannot flush the indirect table\n"); > goto err_fill_indir; > } > - RTE_LOG(DEBUG, PMD, "RSS configured for port %d\n", > + PMD_DRV_LOG(DEBUG, "RSS configured for port %d\n", > adapter->rte_dev->data->port_id); > > return 0; > @@ -693,7 +706,7 @@ static void ena_rx_queue_release(void *queue) > > ring->configured =3D 0; > > - RTE_LOG(NOTICE, PMD, "RX Queue %d:%d released\n", > + PMD_DRV_LOG(NOTICE, "RX Queue %d:%d released\n", > ring->port_id, ring->id); > } > > @@ -717,7 +730,7 @@ static void ena_tx_queue_release(void *queue) > > ring->configured =3D 0; > > - RTE_LOG(NOTICE, PMD, "TX Queue %d:%d released\n", > + PMD_DRV_LOG(NOTICE, "TX Queue %d:%d released\n", > ring->port_id, ring->id); > } > > @@ -929,7 +942,7 @@ static int ena_stats_get(struct rte_eth_dev *dev, > memset(&ena_stats, 0, sizeof(ena_stats)); > rc =3D ena_com_get_dev_basic_stats(ena_dev, &ena_stats); > if (unlikely(rc)) { > - RTE_LOG(ERR, PMD, "Could not retrieve statistics from ENA= \n"); > + PMD_DRV_LOG(ERR, "Could not retrieve statistics from ENA\= n"); > return rc; > } > > @@ -986,7 +999,7 @@ static int ena_mtu_set(struct rte_eth_dev *dev, uint1= 6_t mtu) > ena_assert_msg(ena_dev !=3D NULL, "Uninitialized device\n"); > > if (mtu > ena_get_mtu_conf(adapter) || mtu < ENA_MIN_MTU) { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "Invalid MTU setting. new_mtu: %d " > "max mtu: %d min mtu: %d\n", > mtu, ena_get_mtu_conf(adapter), ENA_MIN_MTU); > @@ -995,9 +1008,9 @@ static int ena_mtu_set(struct rte_eth_dev *dev, uint= 16_t mtu) > > rc =3D ena_com_set_dev_mtu(ena_dev, mtu); > if (rc) > - RTE_LOG(ERR, PMD, "Could not set MTU: %d\n", mtu); > + PMD_DRV_LOG(ERR, "Could not set MTU: %d\n", mtu); > else > - RTE_LOG(NOTICE, PMD, "Set MTU: %d\n", mtu); > + PMD_DRV_LOG(NOTICE, "Set MTU: %d\n", mtu); > > return rc; > } > @@ -1061,7 +1074,7 @@ static void ena_stop(struct rte_eth_dev *dev) > if (adapter->trigger_reset) { > rc =3D ena_com_dev_reset(ena_dev, adapter->reset_reason); > if (rc) > - RTE_LOG(ERR, PMD, "Device reset failed rc=3D%d\n"= , rc); > + PMD_DRV_LOG(ERR, "Device reset failed rc=3D%d\n",= rc); > } > > ++adapter->dev_stats.dev_stop; > @@ -1103,7 +1116,7 @@ static int ena_create_io_queue(struct ena_ring *rin= g) > > rc =3D ena_com_create_io_queue(ena_dev, &ctx); > if (rc) { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "failed to create io queue #%d (qid:%d) rc: %d\n"= , > ring->id, ena_qid, rc); > return rc; > @@ -1113,7 +1126,7 @@ static int ena_create_io_queue(struct ena_ring *rin= g) > &ring->ena_com_io_sq, > &ring->ena_com_io_cq); > if (rc) { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "Failed to get io queue handlers. queue num %d rc= : %d\n", > ring->id, rc); > ena_com_destroy_io_queue(ena_dev, ena_qid); > @@ -1206,21 +1219,21 @@ static int ena_tx_queue_setup(struct rte_eth_dev = *dev, > txq =3D &adapter->tx_ring[queue_idx]; > > if (txq->configured) { > - RTE_LOG(CRIT, PMD, > + PMD_DRV_LOG(CRIT, > "API violation. Queue %d is already configured\n"= , > queue_idx); > return ENA_COM_FAULT; > } > > if (!rte_is_power_of_2(nb_desc)) { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "Unsupported size of TX queue: %d is not a power = of 2.\n", > nb_desc); > return -EINVAL; > } > > if (nb_desc > adapter->tx_ring_size) { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "Unsupported size of TX queue (max size: %d)\n", > adapter->tx_ring_size); > return -EINVAL; > @@ -1240,7 +1253,7 @@ static int ena_tx_queue_setup(struct rte_eth_dev *d= ev, > txq->ring_size, > RTE_CACHE_LINE_SIZE); > if (!txq->tx_buffer_info) { > - RTE_LOG(ERR, PMD, "failed to alloc mem for tx buffer info= \n"); > + PMD_DRV_LOG(ERR, "failed to alloc mem for tx buffer info\= n"); > return -ENOMEM; > } > > @@ -1248,7 +1261,7 @@ static int ena_tx_queue_setup(struct rte_eth_dev *d= ev, > sizeof(u16) * txq->ring_size, > RTE_CACHE_LINE_SIZE); > if (!txq->empty_tx_reqs) { > - RTE_LOG(ERR, PMD, "failed to alloc mem for tx reqs\n"); > + PMD_DRV_LOG(ERR, "failed to alloc mem for tx reqs\n"); > rte_free(txq->tx_buffer_info); > return -ENOMEM; > } > @@ -1258,7 +1271,7 @@ static int ena_tx_queue_setup(struct rte_eth_dev *d= ev, > txq->tx_max_header_size, > RTE_CACHE_LINE_SIZE); > if (!txq->push_buf_intermediate_buf) { > - RTE_LOG(ERR, PMD, "failed to alloc push buff for LLQ\n"); > + PMD_DRV_LOG(ERR, "failed to alloc push buff for LLQ\n"); > rte_free(txq->tx_buffer_info); > rte_free(txq->empty_tx_reqs); > return -ENOMEM; > @@ -1291,7 +1304,7 @@ static int ena_rx_queue_setup(struct rte_eth_dev *d= ev, > > rxq =3D &adapter->rx_ring[queue_idx]; > if (rxq->configured) { > - RTE_LOG(CRIT, PMD, > + PMD_DRV_LOG(CRIT, > "API violation. Queue %d is already configured\n"= , > queue_idx); > return ENA_COM_FAULT; > @@ -1301,14 +1314,14 @@ static int ena_rx_queue_setup(struct rte_eth_dev = *dev, > nb_desc =3D adapter->rx_ring_size; > > if (!rte_is_power_of_2(nb_desc)) { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "Unsupported size of RX queue: %d is not a power = of 2.\n", > nb_desc); > return -EINVAL; > } > > if (nb_desc > adapter->rx_ring_size) { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "Unsupported size of RX queue (max size: %d)\n", > adapter->rx_ring_size); > return -EINVAL; > @@ -1325,7 +1338,7 @@ static int ena_rx_queue_setup(struct rte_eth_dev *d= ev, > sizeof(struct rte_mbuf *) * nb_= desc, > RTE_CACHE_LINE_SIZE); > if (!rxq->rx_buffer_info) { > - RTE_LOG(ERR, PMD, "failed to alloc mem for rx buffer info= \n"); > + PMD_DRV_LOG(ERR, "failed to alloc mem for rx buffer info\= n"); > return -ENOMEM; > } > > @@ -1334,7 +1347,7 @@ static int ena_rx_queue_setup(struct rte_eth_dev *d= ev, > RTE_CACHE_LINE_SIZE); > > if (!rxq->rx_refill_buffer) { > - RTE_LOG(ERR, PMD, "failed to alloc mem for rx refill buff= er\n"); > + PMD_DRV_LOG(ERR, "failed to alloc mem for rx refill buffe= r\n"); > rte_free(rxq->rx_buffer_info); > rxq->rx_buffer_info =3D NULL; > return -ENOMEM; > @@ -1344,7 +1357,7 @@ static int ena_rx_queue_setup(struct rte_eth_dev *d= ev, > sizeof(uint16_t) * nb_desc, > RTE_CACHE_LINE_SIZE); > if (!rxq->empty_rx_reqs) { > - RTE_LOG(ERR, PMD, "failed to alloc mem for empty rx reqs\= n"); > + PMD_DRV_LOG(ERR, "failed to alloc mem for empty rx reqs\n= "); > rte_free(rxq->rx_buffer_info); > rxq->rx_buffer_info =3D NULL; > rte_free(rxq->rx_refill_buffer); > @@ -1408,7 +1421,7 @@ static int ena_populate_rx_queue(struct ena_ring *r= xq, unsigned int count) > rc =3D ena_com_add_single_rx_desc(rxq->ena_com_io_sq, > &ebuf, req_id); > if (unlikely(rc)) { > - RTE_LOG(WARNING, PMD, "failed adding rx desc\n"); > + PMD_DRV_LOG(WARNING, "failed adding rx desc\n"); > rxq->rx_buffer_info[req_id] =3D NULL; > break; > } > @@ -1416,7 +1429,7 @@ static int ena_populate_rx_queue(struct ena_ring *r= xq, unsigned int count) > } > > if (unlikely(i < count)) { > - RTE_LOG(WARNING, PMD, "refilled rx qid %d with only %d " > + PMD_DRV_LOG(WARNING, "refilled rx qid %d with only %d " > "buffers (from %d)\n", rxq->id, i, count); > rte_mempool_put_bulk(rxq->mb_pool, (void **)(&mbufs[i]), > count - i); > @@ -1450,7 +1463,7 @@ static int ena_device_init(struct ena_com_dev *ena_= dev, > /* Initialize mmio registers */ > rc =3D ena_com_mmio_reg_read_request_init(ena_dev); > if (rc) { > - RTE_LOG(ERR, PMD, "failed to init mmio read less\n"); > + PMD_DRV_LOG(ERR, "failed to init mmio read less\n"); > return rc; > } > > @@ -1465,14 +1478,14 @@ static int ena_device_init(struct ena_com_dev *en= a_dev, > /* reset device */ > rc =3D ena_com_dev_reset(ena_dev, ENA_REGS_RESET_NORMAL); > if (rc) { > - RTE_LOG(ERR, PMD, "cannot reset device\n"); > + PMD_DRV_LOG(ERR, "cannot reset device\n"); > goto err_mmio_read_less; > } > > /* check FW version */ > rc =3D ena_com_validate_version(ena_dev); > if (rc) { > - RTE_LOG(ERR, PMD, "device version is too low\n"); > + PMD_DRV_LOG(ERR, "device version is too low\n"); > goto err_mmio_read_less; > } > > @@ -1481,7 +1494,7 @@ static int ena_device_init(struct ena_com_dev *ena_= dev, > /* ENA device administration layer init */ > rc =3D ena_com_admin_init(ena_dev, &aenq_handlers); > if (rc) { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "cannot initialize ena admin queue with device\n"= ); > goto err_mmio_read_less; > } > @@ -1497,7 +1510,7 @@ static int ena_device_init(struct ena_com_dev *ena_= dev, > /* Get Device Attributes and features */ > rc =3D ena_com_get_dev_attr_feat(ena_dev, get_feat_ctx); > if (rc) { > - RTE_LOG(ERR, PMD, > + PMD_DRV_LOG(ERR, > "cannot get attribute for ena device rc=3D %d\n",= rc); > goto err_admin_init; > } > @@ -1511,7 +1524,7 @@ static int ena_device_init(struct ena_com_dev *ena_= dev, > aenq_groups &=3D get_feat_ctx->aenq.supported_groups; > rc =3D ena_com_set_aenq_config(ena_dev, aenq_groups); > if (rc) { > - RTE_LOG(ERR, PMD, "Cannot configure aenq groups rc: %d\n"= , rc); > + PMD_DRV_LOG(ERR, "Cannot configure aenq groups rc: %d\n",= rc); > goto err_admin_init; > } > > @@ -1548,7 +1561,7 @@ static void check_for_missing_keep_alive(struct ena= _adapter *adapter) > > if (unlikely((rte_get_timer_cycles() - adapter->timestamp_wd) >= =3D > adapter->keep_alive_timeout)) { > - RTE_LOG(ERR, PMD, "Keep alive timeout\n"); > + PMD_DRV_LOG(ERR, "Keep alive timeout\n"); > adapter->reset_reason =3D ENA_REGS_RESET_KEEP_ALIVE_TO; > adapter->trigger_reset =3D true; > ++adapter->dev_stats.wd_expired; > @@ -1559,7 +1572,7 @@ static void check_for_missing_keep_alive(struct ena= _adapter *adapter) > static void check_for_admin_com_state(struct ena_adapter *adapter) > { > if (unlikely(!ena_com_get_admin_running_state(&adapter->ena_dev))= ) { > - RTE_LOG(ERR, PMD, "ENA admin queue is not in running stat= e!\n"); > + PMD_DRV_LOG(ERR, "ENA admin queue is not in running state= !\n"); > adapter->reset_reason =3D ENA_REGS_RESET_ADMIN_TO; > adapter->trigger_reset =3D true; > } > @@ -1575,7 +1588,7 @@ static void ena_timer_wd_callback(__rte_unused stru= ct rte_timer *timer, > check_for_admin_com_state(adapter); > > if (unlikely(adapter->trigger_reset)) { > - RTE_LOG(ERR, PMD, "Trigger reset is on\n"); > + PMD_DRV_LOG(ERR, "Trigger reset is on\n"); > _rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RES= ET, > NULL); > } > @@ -1603,7 +1616,7 @@ ena_set_queues_placement_policy(struct ena_adapter = *adapter, > > llq_feature_mask =3D 1 << ENA_ADMIN_LLQ; > if (!(ena_dev->supported_features & llq_feature_mask)) { > - RTE_LOG(INFO, PMD, > + PMD_DRV_LOG(INFO, > "LLQ is not supported. Fallback to host mode poli= cy.\n"); > ena_dev->tx_mem_queue_type =3D ENA_ADMIN_PLACEMENT_POLICY= _HOST; > return 0; > @@ -1622,7 +1635,7 @@ ena_set_queues_placement_policy(struct ena_adapter = *adapter, > return 0; > > if (!adapter->dev_mem_base) { > - RTE_LOG(ERR, PMD, "Unable to access LLQ bar resource. " > + PMD_DRV_LOG(ERR, "Unable to access LLQ bar resource. " > "Fallback to host mode policy.\n."); > ena_dev->tx_mem_queue_type =3D ENA_ADMIN_PLACEMENT_POLICY= _HOST; > return 0; > @@ -1663,7 +1676,7 @@ static int ena_calc_io_queue_num(struct ena_com_dev= *ena_dev, > io_queue_num =3D RTE_MIN(io_queue_num, io_tx_cq_num); > > if (unlikely(io_queue_num =3D=3D 0)) { > - RTE_LOG(ERR, PMD, "Number of IO queues should not be 0\n"= ); > + PMD_DRV_LOG(ERR, "Number of IO queues should not be 0\n")= ; > return -EFAULT; > } > > @@ -1747,7 +1760,7 @@ static int eth_ena_dev_init(struct rte_eth_dev *eth= _dev) > queue_type_str =3D "Regular"; > else > queue_type_str =3D "Low latency"; > - RTE_LOG(INFO, PMD, "Placement policy: %s\n", queue_type_str); > + PMD_DRV_LOG(INFO, "Placement policy: %s\n", queue_type_str); > > calc_queue_ctx.ena_dev =3D ena_dev; > calc_queue_ctx.get_feat_ctx =3D &get_feat_ctx; > @@ -1799,7 +1812,7 @@ static int eth_ena_dev_init(struct rte_eth_dev *eth= _dev) > sizeof(*adapter->drv_stats), > RTE_CACHE_LINE_SIZE); > if (!adapter->drv_stats) { > - RTE_LOG(ERR, PMD, "failed to alloc mem for adapter stats\= n"); > + PMD_DRV_LOG(ERR, "failed to alloc mem for adapter stats\n= "); > rc =3D -ENOMEM; > goto err_delete_debug_area; > } > @@ -2004,7 +2017,7 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, s= truct rte_mbuf **rx_pkts, > > /* Check adapter state */ > if (unlikely(rx_ring->adapter->state !=3D ENA_ADAPTER_STATE_RUNNI= NG)) { > - RTE_LOG(ALERT, PMD, > + PMD_DRV_LOG(ALERT, > "Trying to receive pkts while device is NOT runni= ng\n"); > return 0; > } > @@ -2024,7 +2037,7 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, s= truct rte_mbuf **rx_pkts, > rx_ring->ena_com_io_sq, > &ena_rx_ctx); > if (unlikely(rc)) { > - RTE_LOG(ERR, PMD, "ena_com_rx_pkt error %d\n", rc= ); > + PMD_DRV_LOG(ERR, "ena_com_rx_pkt error %d\n", rc)= ; > rx_ring->adapter->reset_reason =3D > ENA_REGS_RESET_TOO_MANY_RX_DESCS; > rx_ring->adapter->trigger_reset =3D true; > @@ -2214,7 +2227,7 @@ static int ena_check_and_linearize_mbuf(struct ena_= ring *tx_ring, > ++tx_ring->tx_stats.linearize; > rc =3D rte_pktmbuf_linearize(mbuf); > if (unlikely(rc)) { > - RTE_LOG(WARNING, PMD, "Mbuf linearize failed\n"); > + PMD_DRV_LOG(WARNING, "Mbuf linearize failed\n"); > rte_atomic64_inc(&tx_ring->adapter->drv_stats->ierrors); > ++tx_ring->tx_stats.linearize_failed; > return rc; > @@ -2245,7 +2258,7 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, s= truct rte_mbuf **tx_pkts, > > /* Check adapter state */ > if (unlikely(tx_ring->adapter->state !=3D ENA_ADAPTER_STATE_RUNNI= NG)) { > - RTE_LOG(ALERT, PMD, > + PMD_DRV_LOG(ALERT, > "Trying to xmit pkts while device is NOT running\= n"); > return 0; > } > @@ -2342,7 +2355,7 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, s= truct rte_mbuf **tx_pkts, > > if (ena_com_is_doorbell_needed(tx_ring->ena_com_io_sq, > &ena_tx_ctx)) { > - RTE_LOG(DEBUG, PMD, "llq tx max burst size of que= ue %d" > + PMD_DRV_LOG(DEBUG, "llq tx max burst size of queu= e %d" > " achieved, writing doorbell to send burs= t\n", > tx_ring->id); > rte_wmb(); > @@ -2601,6 +2614,30 @@ RTE_INIT(ena_init_log) > ena_logtype_driver =3D rte_log_register("pmd.net.ena.driver"); > if (ena_logtype_driver >=3D 0) > rte_log_set_level(ena_logtype_driver, RTE_LOG_NOTICE); > + > +#ifdef RTE_LIBRTE_ENA_DEBUG_RX > + ena_logtype_rx =3D rte_log_register("pmd.net.ena.rx"); > + if (ena_logtype_rx >=3D 0) > + rte_log_set_level(ena_logtype_rx, RTE_LOG_NOTICE); > +#endif > + > +#ifdef RTE_LIBRTE_ENA_DEBUG_TX > + ena_logtype_tx =3D rte_log_register("pmd.net.ena.tx"); > + if (ena_logtype_tx >=3D 0) > + rte_log_set_level(ena_logtype_tx, RTE_LOG_NOTICE); > +#endif > + > +#ifdef RTE_LIBRTE_ENA_DEBUG_TX_FREE > + ena_logtype_tx_free =3D rte_log_register("pmd.net.ena.tx_free"); > + if (ena_logtype_tx_free >=3D 0) > + rte_log_set_level(ena_logtype_tx_free, RTE_LOG_NOTICE); > +#endif > + > +#ifdef RTE_LIBRTE_ENA_COM_DEBUG > + ena_logtype_com =3D rte_log_register("pmd.net.ena.com"); > + if (ena_logtype_com >=3D 0) > + rte_log_set_level(ena_logtype_com, RTE_LOG_NOTICE); > +#endif > } > > /***********************************************************************= ******* > @@ -2632,7 +2669,7 @@ static void ena_notification(void *data, > struct ena_admin_ena_hw_hints *hints; > > if (aenq_e->aenq_common_desc.group !=3D ENA_ADMIN_NOTIFICATION) > - RTE_LOG(WARNING, PMD, "Invalid group(%x) expected %x\n", > + PMD_DRV_LOG(WARNING, "Invalid group(%x) expected %x\n", > aenq_e->aenq_common_desc.group, > ENA_ADMIN_NOTIFICATION); > > @@ -2643,7 +2680,7 @@ static void ena_notification(void *data, > ena_update_hints(adapter, hints); > break; > default: > - RTE_LOG(ERR, PMD, "Invalid aenq notification link state %= d\n", > + PMD_DRV_LOG(ERR, "Invalid aenq notification link state %d= \n", > aenq_e->aenq_common_desc.syndrom); > } > } > @@ -2668,7 +2705,7 @@ static void ena_keep_alive(void *adapter_data, > static void unimplemented_aenq_handler(__rte_unused void *data, > __rte_unused struct ena_admin_aenq= _entry *aenq_e) > { > - RTE_LOG(ERR, PMD, "Unknown event was received or event with " > + PMD_DRV_LOG(ERR, "Unknown event was received or event with " > "unimplemented handler\n"); > } > > diff --git a/drivers/net/ena/ena_logs.h b/drivers/net/ena/ena_logs.h > index 2c0e91b656ac..fb7fb1fc143b 100644 > --- a/drivers/net/ena/ena_logs.h > +++ b/drivers/net/ena/ena_logs.h > @@ -40,22 +40,28 @@ extern int ena_logtype_init; > "%s(): " fmt "\n", __func__, ## args) > > #ifdef RTE_LIBRTE_ENA_DEBUG_RX > -#define PMD_RX_LOG(level, fmt, args...) \ > - RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args) > +extern int ena_logtype_rx; > +#define PMD_RX_LOG(level, fmt, args...) \ > + rte_log(RTE_LOG_ ## level, ena_logtype_rx, \ > + "%s(): " fmt "\n", __func__, ## args) > #else > #define PMD_RX_LOG(level, fmt, args...) do { } while (0) > #endif > > #ifdef RTE_LIBRTE_ENA_DEBUG_TX > -#define PMD_TX_LOG(level, fmt, args...) \ > - RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args) > +extern int ena_logtype_tx; > +#define PMD_TX_LOG(level, fmt, args...) \ > + rte_log(RTE_LOG_ ## level, ena_logtype_tx, \ > + "%s(): " fmt "\n", __func__, ## args) > #else > #define PMD_TX_LOG(level, fmt, args...) do { } while (0) > #endif > > #ifdef RTE_LIBRTE_ENA_DEBUG_TX_FREE > -#define PMD_TX_FREE_LOG(level, fmt, args...) \ > - RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args) > +extern int ena_logtype_tx_free; > +#define PMD_TX_FREE_LOG(level, fmt, args...) \ > + rte_log(RTE_LOG_ ## level, ena_logtype_tx_free, \ > + "%s(): " fmt "\n", __func__, ## args) > #else > #define PMD_TX_FREE_LOG(level, fmt, args...) do { } while (0) > #endif > -- > 2.20.1 >