List comments

GET /api/patches/227/comments/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

[
    {
        "id": 491,
        "web_url": "http://patches.dpdk.org/comment/491/",
        "msgid": "<CADNuJVruACvGgoSyN+aWOzPfvJrNPqsvAxwCvs2TxwRbhW+vyw@mail.gmail.com>",
        "date": "2014-08-26T14:23:06",
        "subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
        "submitter": {
            "id": 61,
            "url": "http://patches.dpdk.org/api/people/61/",
            "name": "Jay Rolette",
            "email": "rolette@infiniteio.com"
        },
        "content": "Why are you adding newlines to log message strings? Shouldn't that be up to\nwhatever the messages end up getting routed to?\n\nJay\n\n\nOn Tue, Aug 26, 2014 at 9:09 AM, David Marchand <david.marchand@6wind.com>\nwrote:\n\n> Clean log messages:\n> - remove superfluous \\n in log macros and add some \\n where needed,\n> - remove leading \\n in some messages,\n> - split multi lines messages,\n> - replace some PMD_INIT_LOG(DEBUG, \"some_func\\n\") with\n> PMD_INIT_FUNC_TRACE().\n>\n> Signed-off-by: David Marchand <david.marchand@6wind.com>\n> ---\n>  lib/librte_pmd_ixgbe/ixgbe_ethdev.c |   99\n> +++++++++++++++++------------------\n>  lib/librte_pmd_ixgbe/ixgbe_fdir.c   |   12 ++---\n>  lib/librte_pmd_ixgbe/ixgbe_logs.h   |   12 ++---\n>  lib/librte_pmd_ixgbe/ixgbe_rxtx.c   |   14 ++---\n>  4 files changed, 68 insertions(+), 69 deletions(-)\n>\n> diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c\n> b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c\n> index 59122a1..ac00323 100644\n> --- a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c\n> +++ b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c\n> @@ -737,7 +737,7 @@ eth_ixgbe_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>  #endif /* RTE_NIC_BYPASS */\n>\n>         if (diag != IXGBE_SUCCESS) {\n> -               PMD_INIT_LOG(ERR, \"Shared code init failed: %d\", diag);\n> +               PMD_INIT_LOG(ERR, \"Shared code init failed: %d\\n\", diag);\n>                 return -EIO;\n>         }\n>\n> @@ -763,7 +763,7 @@ eth_ixgbe_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>         /* Make sure we have a good EEPROM before we read from it */\n>         diag = ixgbe_validate_eeprom_checksum(hw, &csum);\n>         if (diag != IXGBE_SUCCESS) {\n> -               PMD_INIT_LOG(ERR, \"The EEPROM checksum is not valid: %d\",\n> diag);\n> +               PMD_INIT_LOG(ERR, \"The EEPROM checksum is not valid:\n> %d\\n\", diag);\n>                 return -EIO;\n>         }\n>\n> @@ -791,13 +791,14 @@ eth_ixgbe_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>         if (diag == IXGBE_ERR_EEPROM_VERSION) {\n>                 PMD_INIT_LOG(ERR, \"This device is a pre-production\n> adapter/\"\n>                     \"LOM.  Please be aware there may be issues associated \"\n> -                   \"with your hardware.\\n If you are experiencing\n> problems \"\n> +                   \"with your hardware.\\n\");\n> +               PMD_INIT_LOG(ERR, \"If you are experiencing problems \"\n>                     \"please contact your Intel or hardware representative \"\n>                     \"who provided you with this hardware.\\n\");\n>         } else if (diag == IXGBE_ERR_SFP_NOT_SUPPORTED)\n>                 PMD_INIT_LOG(ERR, \"Unsupported SFP+ Module\\n\");\n>         if (diag) {\n> -               PMD_INIT_LOG(ERR, \"Hardware Initialization Failure: %d\",\n> diag);\n> +               PMD_INIT_LOG(ERR, \"Hardware Initialization Failure: %d\\n\",\n> diag);\n>                 return -EIO;\n>         }\n>\n> @@ -813,7 +814,7 @@ eth_ixgbe_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>         if (eth_dev->data->mac_addrs == NULL) {\n>                 PMD_INIT_LOG(ERR,\n>                         \"Failed to allocate %u bytes needed to store \"\n> -                       \"MAC addresses\",\n> +                       \"MAC addresses\\n\",\n>                         ETHER_ADDR_LEN * hw->mac.num_rar_entries);\n>                 return -ENOMEM;\n>         }\n> @@ -826,7 +827,8 @@ eth_ixgbe_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>                         IXGBE_VMDQ_NUM_UC_MAC, 0);\n>         if (eth_dev->data->hash_mac_addrs == NULL) {\n>                 PMD_INIT_LOG(ERR,\n> -                       \"Failed to allocate %d bytes needed to store MAC\n> addresses\",\n> +                       \"Failed to allocate %d bytes needed to store \"\n> +                       \"MAC addresses\\n\",\n>                         ETHER_ADDR_LEN * IXGBE_VMDQ_NUM_UC_MAC);\n>                 return -ENOMEM;\n>         }\n> @@ -850,14 +852,14 @@ eth_ixgbe_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>\n>         if (ixgbe_is_sfp(hw) && hw->phy.sfp_type !=\n> ixgbe_sfp_type_not_present)\n>                 PMD_INIT_LOG(DEBUG,\n> -                            \"MAC: %d, PHY: %d, SFP+: %d<n\",\n> +                            \"MAC: %d, PHY: %d, SFP+: %d\\n\",\n>                              (int) hw->mac.type, (int) hw->phy.type,\n>                              (int) hw->phy.sfp_type);\n>         else\n>                 PMD_INIT_LOG(DEBUG, \"MAC: %d, PHY: %d\\n\",\n>                              (int) hw->mac.type, (int) hw->phy.type);\n>\n> -       PMD_INIT_LOG(DEBUG, \"port %d vendorID=0x%x deviceID=0x%x\",\n> +       PMD_INIT_LOG(DEBUG, \"port %d vendorID=0x%x deviceID=0x%x\\n\",\n>                         eth_dev->data->port_id, pci_dev->id.vendor_id,\n>                         pci_dev->id.device_id);\n>\n> @@ -933,7 +935,7 @@ eth_ixgbevf_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>\n> IXGBE_DEV_PRIVATE_TO_HWSTRIP_BITMAP(eth_dev->data->dev_private);\n>         struct ether_addr *perm_addr = (struct ether_addr *)\n> hw->mac.perm_addr;\n>\n> -       PMD_INIT_LOG(DEBUG, \"eth_ixgbevf_dev_init\");\n> +       PMD_INIT_FUNC_TRACE();\n>\n>         eth_dev->dev_ops = &ixgbevf_eth_dev_ops;\n>         eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;\n> @@ -963,7 +965,8 @@ eth_ixgbevf_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>         /* Initialize the shared code (base driver) */\n>         diag = ixgbe_init_shared_code(hw);\n>         if (diag != IXGBE_SUCCESS) {\n> -               PMD_INIT_LOG(ERR, \"Shared code init failed for ixgbevf:\n> %d\", diag);\n> +               PMD_INIT_LOG(ERR, \"Shared code init failed for ixgbevf:\n> %d\\n\",\n> +                            diag);\n>                 return -EIO;\n>         }\n>\n> @@ -982,7 +985,7 @@ eth_ixgbevf_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>          * In this case, assign a random MAC address.\n>          */\n>         if ((diag != IXGBE_SUCCESS) && (diag !=\n> IXGBE_ERR_INVALID_MAC_ADDR)) {\n> -               PMD_INIT_LOG(ERR, \"VF Initialization Failure: %d\", diag);\n> +               PMD_INIT_LOG(ERR, \"VF Initialization Failure: %d\\n\", diag);\n>                 return (diag);\n>         }\n>\n> @@ -998,7 +1001,7 @@ eth_ixgbevf_dev_init(__attribute__((unused)) struct\n> eth_driver *eth_drv,\n>         if (eth_dev->data->mac_addrs == NULL) {\n>                 PMD_INIT_LOG(ERR,\n>                         \"Failed to allocate %u bytes needed to store \"\n> -                       \"MAC addresses\",\n> +                       \"MAC addresses\\n\",\n>                         ETHER_ADDR_LEN * hw->mac.num_rar_entries);\n>                 return -ENOMEM;\n>         }\n> @@ -1034,11 +1037,12 @@ eth_ixgbevf_dev_init(__attribute__((unused))\n> struct eth_driver *eth_drv,\n>                         break;\n>\n>                 default:\n> -                       PMD_INIT_LOG(ERR, \"VF Initialization Failure: %d\",\n> diag);\n> +                       PMD_INIT_LOG(ERR, \"VF Initialization Failure:\n> %d\\n\",\n> +                                    diag);\n>                         return (-EIO);\n>         }\n>\n> -       PMD_INIT_LOG(DEBUG, \"\\nport %d vendorID=0x%x deviceID=0x%x\n> mac.type=%s\\n\",\n> +       PMD_INIT_LOG(DEBUG, \"port %d vendorID=0x%x deviceID=0x%x\n> mac.type=%s\\n\",\n>                          eth_dev->data->port_id, pci_dev->id.vendor_id,\n> pci_dev->id.device_id,\n>                          \"ixgbe_mac_82599_vf\");\n>\n> @@ -1207,7 +1211,7 @@ ixgbe_vlan_hw_strip_disable(struct rte_eth_dev *dev,\n> uint16_t queue)\n>\n>         if (hw->mac.type == ixgbe_mac_82598EB) {\n>                 /* No queue level support */\n> -               PMD_INIT_LOG(INFO, \"82598EB not support queue level hw\n> strip\");\n> +               PMD_INIT_LOG(INFO, \"82598EB not support queue level hw\n> strip\\n\");\n>                 return;\n>         }\n>         else {\n> @@ -1231,7 +1235,7 @@ ixgbe_vlan_hw_strip_enable(struct rte_eth_dev *dev,\n> uint16_t queue)\n>\n>         if (hw->mac.type == ixgbe_mac_82598EB) {\n>                 /* No queue level supported */\n> -               PMD_INIT_LOG(INFO, \"82598EB not support queue level hw\n> strip\");\n> +               PMD_INIT_LOG(INFO, \"82598EB not support queue level hw\n> strip\\n\");\n>                 return;\n>         }\n>         else {\n> @@ -1543,7 +1547,7 @@ skip_link_setup:\n>         return (0);\n>\n>  error:\n> -       PMD_INIT_LOG(ERR, \"failure in ixgbe_dev_start(): %d\", err);\n> +       PMD_INIT_LOG(ERR, \"failure in ixgbe_dev_start(): %d\\n\", err);\n>         ixgbe_dev_clear_queues(dev);\n>         return -EIO;\n>  }\n> @@ -1599,10 +1603,8 @@ ixgbe_dev_set_link_up(struct rte_eth_dev *dev)\n>  #ifdef RTE_NIC_BYPASS\n>                 if (hw->device_id == IXGBE_DEV_ID_82599_BYPASS) {\n>                         /* Not suported in bypass mode */\n> -                       PMD_INIT_LOG(ERR,\n> -                               \"\\nSet link up is not supported \"\n> -                               \"by device id 0x%x\\n\",\n> -                               hw->device_id);\n> +                       PMD_INIT_LOG(ERR, \"Set link up is not supported \"\n> +                                    \"by device id 0x%x\\n\", hw->device_id);\n>                         return -ENOTSUP;\n>                 }\n>  #endif\n> @@ -1611,8 +1613,8 @@ ixgbe_dev_set_link_up(struct rte_eth_dev *dev)\n>                 return 0;\n>         }\n>\n> -       PMD_INIT_LOG(ERR, \"\\nSet link up is not supported by device id\n> 0x%x\\n\",\n> -               hw->device_id);\n> +       PMD_INIT_LOG(ERR, \"Set link up is not supported by device id\n> 0x%x\\n\",\n> +                    hw->device_id);\n>         return -ENOTSUP;\n>  }\n>\n> @@ -1628,10 +1630,8 @@ ixgbe_dev_set_link_down(struct rte_eth_dev *dev)\n>  #ifdef RTE_NIC_BYPASS\n>                 if (hw->device_id == IXGBE_DEV_ID_82599_BYPASS) {\n>                         /* Not suported in bypass mode */\n> -                       PMD_INIT_LOG(ERR,\n> -                               \"\\nSet link down is not supported \"\n> -                               \"by device id 0x%x\\n\",\n> -                                hw->device_id);\n> +                       PMD_INIT_LOG(ERR, \"Set link down is not supported \"\n> +                                    \"by device id 0x%x\\n\", hw->device_id);\n>                         return -ENOTSUP;\n>                 }\n>  #endif\n> @@ -1640,9 +1640,8 @@ ixgbe_dev_set_link_down(struct rte_eth_dev *dev)\n>                 return 0;\n>         }\n>\n> -       PMD_INIT_LOG(ERR,\n> -               \"\\nSet link down is not supported by device id 0x%x\\n\",\n> -                hw->device_id);\n> +       PMD_INIT_LOG(ERR, \"Set link down is not supported by device id\n> 0x%x\\n\",\n> +                    hw->device_id);\n>         return -ENOTSUP;\n>  }\n>\n> @@ -2113,7 +2112,7 @@ ixgbe_dev_interrupt_get_status(struct rte_eth_dev\n> *dev)\n>\n>         /* read-on-clear nic registers here */\n>         eicr = IXGBE_READ_REG(hw, IXGBE_EICR);\n> -       PMD_DRV_LOG(INFO, \"eicr %x\", eicr);\n> +       PMD_DRV_LOG(INFO, \"eicr %x\\n\", eicr);\n>\n>         intr->flags = 0;\n>         if (eicr & IXGBE_EICR_LSC) {\n> @@ -2145,16 +2144,16 @@ ixgbe_dev_link_status_print(struct rte_eth_dev\n> *dev)\n>         memset(&link, 0, sizeof(link));\n>         rte_ixgbe_dev_atomic_read_link_status(dev, &link);\n>         if (link.link_status) {\n> -               PMD_INIT_LOG(INFO, \"Port %d: Link Up - speed %u Mbps - %s\",\n> +               PMD_INIT_LOG(INFO, \"Port %d: Link Up - speed %u Mbps -\n> %s\\n\",\n>                                         (int)(dev->data->port_id),\n>                                         (unsigned)link.link_speed,\n>                         link.link_duplex == ETH_LINK_FULL_DUPLEX ?\n>                                         \"full-duplex\" : \"half-duplex\");\n>         } else {\n> -               PMD_INIT_LOG(INFO, \" Port %d: Link Down\",\n> +               PMD_INIT_LOG(INFO, \" Port %d: Link Down\\n\",\n>                                 (int)(dev->data->port_id));\n>         }\n> -       PMD_INIT_LOG(INFO, \"PCI Address: %04d:%02d:%02d:%d\",\n> +       PMD_INIT_LOG(INFO, \"PCI Address: %04d:%02d:%02d:%d\\n\",\n>                                 dev->pci_dev->addr.domain,\n>                                 dev->pci_dev->addr.bus,\n>                                 dev->pci_dev->addr.devid,\n> @@ -2211,9 +2210,9 @@ ixgbe_dev_interrupt_action(struct rte_eth_dev *dev)\n>         if (intr_enable_delay) {\n>                 if (rte_eal_alarm_set(timeout * 1000,\n>                                       ixgbe_dev_interrupt_delayed_handler,\n> (void*)dev) < 0)\n> -                       PMD_DRV_LOG(ERR, \"Error setting alarm\");\n> +                       PMD_DRV_LOG(ERR, \"Error setting alarm\\n\");\n>         } else {\n> -               PMD_DRV_LOG(DEBUG, \"enable intr immediately\");\n> +               PMD_DRV_LOG(DEBUG, \"enable intr immediately\\n\");\n>                 ixgbe_enable_intr(dev);\n>                 rte_intr_enable(&(dev->pci_dev->intr_handle));\n>         }\n> @@ -2371,7 +2370,7 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct\n> rte_eth_fc_conf *fc_conf)\n>         if (fc_conf->autoneg != !hw->fc.disable_fc_autoneg)\n>                 return -ENOTSUP;\n>         rx_buf_size = IXGBE_READ_REG(hw, IXGBE_RXPBSIZE(0));\n> -       PMD_INIT_LOG(DEBUG, \"Rx packet buffer size = 0x%x \\n\",\n> rx_buf_size);\n> +       PMD_INIT_LOG(DEBUG, \"Rx packet buffer size = 0x%x\\n\", rx_buf_size);\n>\n>         /*\n>          * At least reserve one Ethernet frame for watermark\n> @@ -2413,7 +2412,7 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct\n> rte_eth_fc_conf *fc_conf)\n>                 return 0;\n>         }\n>\n> -       PMD_INIT_LOG(ERR, \"ixgbe_fc_enable = 0x%x \\n\", err);\n> +       PMD_INIT_LOG(ERR, \"ixgbe_fc_enable = 0x%x\\n\", err);\n>         return -EIO;\n>  }\n>\n> @@ -2593,7 +2592,7 @@ ixgbe_priority_flow_ctrl_set(struct rte_eth_dev\n> *dev, struct rte_eth_pfc_conf *p\n>         ixgbe_dcb_unpack_map_cee(dcb_config, IXGBE_DCB_RX_CONFIG, map);\n>         tc_num = map[pfc_conf->priority];\n>         rx_buf_size = IXGBE_READ_REG(hw, IXGBE_RXPBSIZE(tc_num));\n> -       PMD_INIT_LOG(DEBUG, \"Rx packet buffer size = 0x%x \\n\",\n> rx_buf_size);\n> +       PMD_INIT_LOG(DEBUG, \"Rx packet buffer size = 0x%x\\n\", rx_buf_size);\n>         /*\n>          * At least reserve one Ethernet frame for watermark\n>          * high_water/low_water in kilo bytes for ixgbe\n> @@ -2618,7 +2617,7 @@ ixgbe_priority_flow_ctrl_set(struct rte_eth_dev\n> *dev, struct rte_eth_pfc_conf *p\n>         if ((err == IXGBE_SUCCESS) || (err == IXGBE_ERR_FC_NOT_NEGOTIATED))\n>                 return 0;\n>\n> -       PMD_INIT_LOG(ERR, \"ixgbe_dcb_pfc_enable = 0x%x \\n\", err);\n> +       PMD_INIT_LOG(ERR, \"ixgbe_dcb_pfc_enable = 0x%x\\n\", err);\n>         return -EIO;\n>  }\n>\n> @@ -2765,7 +2764,7 @@ ixgbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t\n> mtu)\n>  static void\n>  ixgbevf_intr_disable(struct ixgbe_hw *hw)\n>  {\n> -       PMD_INIT_LOG(DEBUG, \"ixgbevf_intr_disable\");\n> +       PMD_INIT_FUNC_TRACE();\n>\n>         /* Clear interrupt mask to stop from interrupts being generated */\n>         IXGBE_WRITE_REG(hw, IXGBE_VTEIMC, IXGBE_VF_IRQ_CLEAR_MASK);\n> @@ -2778,8 +2777,8 @@ ixgbevf_dev_configure(struct rte_eth_dev *dev)\n>  {\n>         struct rte_eth_conf* conf = &dev->data->dev_conf;\n>\n> -       PMD_INIT_LOG(DEBUG, \"\\nConfigured Virtual Function port id: %d\\n\",\n> -               dev->data->port_id);\n> +       PMD_INIT_LOG(DEBUG, \"Configured Virtual Function port id: %d\\n\",\n> +                    dev->data->port_id);\n>\n>         /*\n>          * VF has no ability to enable/disable HW CRC\n> @@ -2807,7 +2806,7 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)\n>                 IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n>         int err, mask = 0;\n>\n> -       PMD_INIT_LOG(DEBUG, \"ixgbevf_dev_start\");\n> +       PMD_INIT_FUNC_TRACE();\n>\n>         hw->mac.ops.reset_hw(hw);\n>\n> @@ -2842,7 +2841,7 @@ ixgbevf_dev_stop(struct rte_eth_dev *dev)\n>  {\n>         struct ixgbe_hw *hw =\n> IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n>\n> -       PMD_INIT_LOG(DEBUG, \"ixgbevf_dev_stop\");\n> +       PMD_INIT_FUNC_TRACE();\n>\n>         hw->adapter_stopped = TRUE;\n>         ixgbe_stop_adapter(hw);\n> @@ -2861,7 +2860,7 @@ ixgbevf_dev_close(struct rte_eth_dev *dev)\n>  {\n>         struct ixgbe_hw *hw =\n> IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);\n>\n> -       PMD_INIT_LOG(DEBUG, \"ixgbevf_dev_close\");\n> +       PMD_INIT_FUNC_TRACE();\n>\n>         ixgbe_reset_hw(hw);\n>\n> @@ -2908,7 +2907,7 @@ ixgbevf_vlan_filter_set(struct rte_eth_dev *dev,\n> uint16_t vlan_id, int on)\n>         /* vind is not used in VF driver, set to 0, check\n> ixgbe_set_vfta_vf */\n>         ret = ixgbe_set_vfta(hw, vlan_id, 0, !!on);\n>         if(ret){\n> -               PMD_INIT_LOG(ERR, \"Unable to set VF vlan\");\n> +               PMD_INIT_LOG(ERR, \"Unable to set VF vlan\\n\");\n>                 return ret;\n>         }\n>         vid_idx = (uint32_t) ((vlan_id >> 5) & 0x7F);\n> @@ -3477,7 +3476,7 @@ ixgbevf_add_mac_addr(struct rte_eth_dev *dev, struct\n> ether_addr *mac_addr,\n>         diag = ixgbevf_set_uc_addr_vf(hw, 2, mac_addr->addr_bytes);\n>         if (diag == 0)\n>                 return;\n> -       PMD_DRV_LOG(ERR, \"Unable to add MAC address - diag=%d\", diag);\n> +       PMD_DRV_LOG(ERR, \"Unable to add MAC address - diag=%d\\n\", diag);\n>  }\n>\n>  static void\n> @@ -3517,7 +3516,7 @@ ixgbevf_remove_mac_addr(struct rte_eth_dev *dev,\n> uint32_t index)\n>                         PMD_DRV_LOG(ERR,\n>                                     \"Adding again MAC address \"\n>                                     \"%02x:%02x:%02x:%02x:%02x:%02x failed \"\n> -                                   \"diag=%d\",\n> +                                   \"diag=%d\\n\",\n>                                     mac_addr->addr_bytes[0],\n>                                     mac_addr->addr_bytes[1],\n>                                     mac_addr->addr_bytes[2],\n> @@ -3806,7 +3805,7 @@ ixgbe_add_5tuple_filter(struct rte_eth_dev *dev,\n> uint16_t index,\n>                 return -EINVAL;  /* filter index is out of range. */\n>\n>         if (filter->tcp_flags) {\n> -               PMD_INIT_LOG(INFO, \"82599EB not tcp flags in 5tuple\");\n> +               PMD_INIT_LOG(INFO, \"82599EB not tcp flags in 5tuple\\n\");\n>                 return -EINVAL;\n>         }\n>\n> diff --git a/lib/librte_pmd_ixgbe/ixgbe_fdir.c\n> b/lib/librte_pmd_ixgbe/ixgbe_fdir.c\n> index 6c0a530..c78a450 100644\n> --- a/lib/librte_pmd_ixgbe/ixgbe_fdir.c\n> +++ b/lib/librte_pmd_ixgbe/ixgbe_fdir.c\n> @@ -139,7 +139,7 @@ configure_fdir_flags(struct rte_fdir_conf *conf,\n> uint32_t *fdirctrl)\n>                 break;\n>         default:\n>                 /* bad value */\n> -               PMD_INIT_LOG(ERR, \"Invalid fdir_conf->pballoc value\");\n> +               PMD_INIT_LOG(ERR, \"Invalid fdir_conf->pballoc value\\n\");\n>                 return -EINVAL;\n>         };\n>\n> @@ -158,7 +158,7 @@ configure_fdir_flags(struct rte_fdir_conf *conf,\n> uint32_t *fdirctrl)\n>                 break;\n>         default:\n>                 /* bad value */\n> -               PMD_INIT_LOG(ERR, \"Invalid fdir_conf->status value\");\n> +               PMD_INIT_LOG(ERR, \"Invalid fdir_conf->status value\\n\");\n>                 return -EINVAL;\n>         };\n>\n> @@ -395,7 +395,7 @@ fdir_filter_to_atr_input(struct rte_fdir_filter\n> *fdir_filter,\n>         if ((fdir_filter->l4type == RTE_FDIR_L4TYPE_SCTP ||\n>                         fdir_filter->l4type == RTE_FDIR_L4TYPE_NONE) &&\n>                         (fdir_filter->port_src || fdir_filter->port_dst)) {\n> -               PMD_INIT_LOG(ERR, \"Invalid fdir_filter\");\n> +               PMD_INIT_LOG(ERR, \"Invalid fdir_filter\\n\");\n>                 return -EINVAL;\n>         }\n>\n> @@ -420,7 +420,7 @@ fdir_filter_to_atr_input(struct rte_fdir_filter\n> *fdir_filter,\n>                 input->formatted.flow_type = IXGBE_ATR_FLOW_TYPE_IPV4;\n>                 break;\n>         default:\n> -               PMD_INIT_LOG(ERR, \" Error on l4type input\");\n> +               PMD_INIT_LOG(ERR, \" Error on l4type input\\n\");\n>                 return -EINVAL;\n>         }\n>\n> @@ -524,7 +524,7 @@ fdir_erase_filter_82599(struct ixgbe_hw *hw,\n>         }\n>\n>         if (!retry_count) {\n> -               PMD_INIT_LOG(ERR, \"Timeout querying for flow director\n> filter\");\n> +               PMD_INIT_LOG(ERR, \"Timeout querying for flow director\n> filter\\n\");\n>                 err = -EIO;\n>         }\n>\n> @@ -678,7 +678,7 @@ ixgbe_fdir_set_masks(struct rte_eth_dev *dev, struct\n> rte_fdir_masks *fdir_masks)\n>\n>         err = ixgbe_reinit_fdir_tables_82599(hw);\n>         if (err) {\n> -               PMD_INIT_LOG(ERR, \"reinit of fdir tables failed\");\n> +               PMD_INIT_LOG(ERR, \"reinit of fdir tables failed\\n\");\n>                 return -EIO;\n>         }\n>\n> diff --git a/lib/librte_pmd_ixgbe/ixgbe_logs.h\n> b/lib/librte_pmd_ixgbe/ixgbe_logs.h\n> index 9f0a684..22d8cfb 100644\n> --- a/lib/librte_pmd_ixgbe/ixgbe_logs.h\n> +++ b/lib/librte_pmd_ixgbe/ixgbe_logs.h\n> @@ -36,8 +36,8 @@\n>\n>  #ifdef RTE_LIBRTE_IXGBE_DEBUG_INIT\n>  #define PMD_INIT_LOG(level, fmt, args...) \\\n> -       RTE_LOG(level, PMD, \"%s(): \" fmt \"\\n\", __func__, ## args)\n> -#define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, \" >>\")\n> +       RTE_LOG(level, PMD, \"%s(): \" fmt, __func__, ## args)\n> +#define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, \" >>\\n\")\n>  #else\n>  #define PMD_INIT_LOG(level, fmt, args...) do { } while(0)\n>  #define PMD_INIT_FUNC_TRACE() do { } while(0)\n> @@ -45,28 +45,28 @@\n>\n>  #ifdef RTE_LIBRTE_IXGBE_DEBUG_RX\n>  #define PMD_RX_LOG(level, fmt, args...) \\\n> -       RTE_LOG(level, PMD, \"%s(): \" fmt \"\\n\", __func__, ## args)\n> +       RTE_LOG(level, PMD, \"%s(): \" fmt, __func__, ## args)\n>  #else\n>  #define PMD_RX_LOG(level, fmt, args...) do { } while(0)\n>  #endif\n>\n>  #ifdef RTE_LIBRTE_IXGBE_DEBUG_TX\n>  #define PMD_TX_LOG(level, fmt, args...) \\\n> -       RTE_LOG(level, PMD, \"%s(): \" fmt \"\\n\", __func__, ## args)\n> +       RTE_LOG(level, PMD, \"%s(): \" fmt, __func__, ## args)\n>  #else\n>  #define PMD_TX_LOG(level, fmt, args...) do { } while(0)\n>  #endif\n>\n>  #ifdef RTE_LIBRTE_IXGBE_DEBUG_TX_FREE\n>  #define PMD_TX_FREE_LOG(level, fmt, args...) \\\n> -       RTE_LOG(level, PMD, \"%s(): \" fmt \"\\n\", __func__, ## args)\n> +       RTE_LOG(level, PMD, \"%s(): \" fmt, __func__, ## args)\n>  #else\n>  #define PMD_TX_FREE_LOG(level, fmt, args...) do { } while(0)\n>  #endif\n>\n>  #ifdef RTE_LIBRTE_IXGBE_DEBUG_DRIVER\n>  #define PMD_DRV_LOG(level, fmt, args...) \\\n> -       RTE_LOG(level, PMD, \"%s(): \" fmt \"\\n\", __func__, ## args)\n> +       RTE_LOG(level, PMD, \"%s(): \" fmt, __func__, ## args)\n>  #else\n>  #define PMD_DRV_LOG(level, fmt, args...) do { } while(0)\n>  #endif\n> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c\n> b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c\n> index dfc2076..cbec821 100644\n> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c\n> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c\n> @@ -492,7 +492,7 @@ ixgbe_xmit_cleanup(struct igb_tx_queue *txq)\n>         {\n>                 PMD_TX_FREE_LOG(DEBUG,\n>                                 \"TX descriptor %4u is not done\"\n> -                               \"(port=%d queue=%d)\",\n> +                               \"(port=%d queue=%d)\\n\",\n>                                 desc_to_clean_to,\n>                                 txq->port_id, txq->queue_id);\n>                 /* Failed to clean any descriptors, better luck next time\n> */\n> @@ -509,7 +509,7 @@ ixgbe_xmit_cleanup(struct igb_tx_queue *txq)\n>\n>         PMD_TX_FREE_LOG(DEBUG,\n>                         \"Cleaning %4u TX descriptors: %4u to %4u \"\n> -                       \"(port=%d queue=%d)\",\n> +                       \"(port=%d queue=%d)\\n\",\n>                         nb_tx_to_clean, last_desc_cleaned,\n> desc_to_clean_to,\n>                         txq->port_id, txq->queue_id);\n>\n> @@ -630,7 +630,7 @@ ixgbe_xmit_pkts(void *tx_queue, struct rte_mbuf\n> **tx_pkts,\n>                         PMD_TX_FREE_LOG(DEBUG,\n>                                         \"Not enough free TX descriptors \"\n>                                         \"nb_used=%4u nb_free=%4u \"\n> -                                       \"(port=%d queue=%d)\",\n> +                                       \"(port=%d queue=%d)\\n\",\n>                                         nb_used, txq->nb_tx_free,\n>                                         txq->port_id, txq->queue_id);\n>\n> @@ -650,7 +650,7 @@ ixgbe_xmit_pkts(void *tx_queue, struct rte_mbuf\n> **tx_pkts,\n>                                         \"performance.\"\n>                                         \"nb_used=%4u nb_free=%4u \"\n>                                         \"tx_rs_thresh=%4u. \"\n> -                                       \"(port=%d queue=%d)\",\n> +                                       \"(port=%d queue=%d)\\n\",\n>                                         nb_used, txq->nb_tx_free,\n>                                         txq->tx_rs_thresh,\n>                                         txq->port_id, txq->queue_id);\n> @@ -782,7 +782,7 @@ ixgbe_xmit_pkts(void *tx_queue, struct rte_mbuf\n> **tx_pkts,\n>                 if (txq->nb_tx_used >= txq->tx_rs_thresh) {\n>                         PMD_TX_FREE_LOG(DEBUG,\n>                                         \"Setting RS bit on TXD id=\"\n> -                                       \"%4u (port=%d queue=%d)\",\n> +                                       \"%4u (port=%d queue=%d)\\n\",\n>                                         tx_last, txq->port_id,\n> txq->queue_id);\n>\n>                         cmd_type_len |= IXGBE_TXD_CMD_RS;\n> @@ -798,7 +798,7 @@ end_of_tx:\n>         /*\n>          * Set the Transmit Descriptor Tail (TDT)\n>          */\n> -       PMD_TX_LOG(DEBUG, \"port_id=%u queue_id=%u tx_tail=%u nb_tx=%u\",\n> +       PMD_TX_LOG(DEBUG, \"port_id=%u queue_id=%u tx_tail=%u nb_tx=%u\\n\",\n>                    (unsigned) txq->port_id, (unsigned) txq->queue_id,\n>                    (unsigned) tx_id, (unsigned) nb_tx);\n>         IXGBE_PCI_REG_WRITE(txq->tdt_reg_addr, tx_id);\n> @@ -1383,7 +1383,7 @@ ixgbe_recv_scattered_pkts(void *rx_queue, struct\n> rte_mbuf **rx_pkts,\n>                  * to happen by sending specific \"back-pressure\" flow\n> control\n>                  * frames to its peer(s).\n>                  */\n> -               PMD_RX_LOG(DEBUG, \"\\nport_id=%u queue_id=%u rx_id=%u \"\n> +               PMD_RX_LOG(DEBUG, \"port_id=%u queue_id=%u rx_id=%u \"\n>                            \"staterr=0x%x data_len=%u\\n\",\n>                            (unsigned) rxq->port_id, (unsigned)\n> rxq->queue_id,\n>                            (unsigned) rx_id, (unsigned) staterr,\n> --\n> 1.7.10.4\n>\n>",
        "headers": {
            "Return-Path": "<rolette@infiniteio.com>",
            "MIME-Version": "1.0",
            "X-Mailman-Version": "2.1.15",
            "Date": "Tue, 26 Aug 2014 09:23:06 -0500",
            "X-List-Received-Date": "Tue, 26 Aug 2014 14:19:07 -0000",
            "References": "<1409062162-19575-1-git-send-email-david.marchand@6wind.com>\n\t<1409062162-19575-2-git-send-email-david.marchand@6wind.com>",
            "Content-Type": "text/plain; charset=UTF-8",
            "X-BeenThere": "dev@dpdk.org",
            "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:mime-version:in-reply-to:references:date\n\t:message-id:subject:from:to:cc:content-type;\n\tbh=Abu0lUlLtBp998GW/IDC7ABt44WcreE3OfBeqPkyRo0=;\n\tb=QOPHludne3/e0lBxuq6wvYfnKSTpXvASjcs02O+JVYedtoqG21FWDVPeVLtG5vXlkz\n\tYII439dPEJqilpdEyI3ePFVJ3IQXJFSaOC5hwO8TwDEKwUFbb5ajJc44n97A3hjUwyaK\n\tfzYDKApX/XL8kHzaz4SFJ+AnjL+0oDip6uH79uEor79c9bqAmG3W/W1lOyhLVPW41uP2\n\tFH3VZd/paiFmr3Bw44ZP93+LPlFQDt0EN9OGQIRpomOolbyFd2zBh9Sc4/iVxwefzUid\n\tJIl6QOkokpz57deDkKQtfbSOCOpnlrn9wzfODolu+Rkf+ja905FXaTD6cPErDTytFfHa\n\t+zmg==",
            "Received": [
                "from mail-yh0-f42.google.com (mail-yh0-f42.google.com\n\t[209.85.213.42]) by dpdk.org (Postfix) with ESMTP id CA623B3B6\n\tfor <dev@dpdk.org>; Tue, 26 Aug 2014 16:19:06 +0200 (CEST)",
                "by mail-yh0-f42.google.com with SMTP id a41so11959583yho.29\n\tfor <dev@dpdk.org>; Tue, 26 Aug 2014 07:23:06 -0700 (PDT)",
                "by 10.170.96.213 with HTTP; Tue, 26 Aug 2014 07:23:06 -0700 (PDT)"
            ],
            "Subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
            "X-Content-Filtered-By": "Mailman/MimeDel 2.1.15",
            "X-Received": "by 10.236.114.131 with SMTP id c3mr44442374yhh.56.1409062986264; \n\tTue, 26 Aug 2014 07:23:06 -0700 (PDT)",
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "Message-ID": "<CADNuJVruACvGgoSyN+aWOzPfvJrNPqsvAxwCvs2TxwRbhW+vyw@mail.gmail.com>",
            "Precedence": "list",
            "X-Gm-Message-State": "ALoCoQkbp/3KRkhG7HYU29llS/kkdIfhejex6p7a66mjAWHtKHyB22lKW+OqL7r1j1wo0OUdetct",
            "From": "Jay Rolette <rolette@infiniteio.com>",
            "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
            "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
            "Cc": "dev@dpdk.org",
            "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
            "In-Reply-To": "<1409062162-19575-2-git-send-email-david.marchand@6wind.com>",
            "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "List-Post": "<mailto:dev@dpdk.org>",
            "To": "David Marchand <david.marchand@6wind.com>"
        }
    },
    {
        "id": 492,
        "web_url": "http://patches.dpdk.org/comment/492/",
        "msgid": "<CALwxeUtqN+vZnHODvNgV7FvGGAKTtr7x2gxnoPosbcJx73sx9Q@mail.gmail.com>",
        "date": "2014-08-26T14:55:42",
        "subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
        "submitter": {
            "id": 3,
            "url": "http://patches.dpdk.org/api/people/3/",
            "name": "David Marchand",
            "email": "david.marchand@6wind.com"
        },
        "content": "Hello Jay,\n\nOn Tue, Aug 26, 2014 at 4:23 PM, Jay Rolette <rolette@infiniteio.com> wrote:\n\n> Why are you adding newlines to log message strings? Shouldn't that be up\n> to whatever the messages end up getting routed to?\n>\n\nActually, I wanted to have consistent log formats in the PMDs so that the\nlog messages displayed at runtime are aligned (and not bouncing with \\n\nbefore or after the log message).\nThere was two solutions from my point of view :\n- either always add a \\n in the log macro and remove all trailing \\n\n- do the opposite\n\nI preferred the latter as it let users of the macro set the message format\nas they want.\n\n\nBefore this change :\n\nConfiguring Port 0 (socket 1)\nPMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f3e59cd8080\nhw_ring=0x7f3e59d02080 dma_addr=0x727702080\n\nPMD: ixgbe_dev_tx_queue_setup(): Using simple tx code path\n\nPMD: ixgbe_dev_tx_queue_setup(): Vector tx enabled.\n\nPMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7f3e59cd57c0\nhw_ring=0x7f3e59d12080 dma_addr=0x727712080\n\nPMD: ixgbe_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are\nsatisfied. Rx Burst Bulk Alloc function will be used on port=0, queue=0.\n\nPMD: ixgbe_dev_rx_queue_setup(): Vector rx enabled, please make sure RX\nburst size no less than 32.\n\n\nAfter this change :\n\nConfiguring Port 0 (socket 1)\nPMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7fd47ecd8080\nhw_ring=0x7fd47ed02080 dma_addr=0x727702080\nPMD: ixgbe_dev_tx_queue_setup(): Using simple tx code path\nPMD: ixgbe_dev_tx_queue_setup(): Vector tx enabled.\nPMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7fd47ecd57c0\nhw_ring=0x7fd47ed12080 dma_addr=0x727712080\nPMD: ixgbe_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are\nsatisfied. Rx Burst Bulk Alloc function will be used on port=0, queue=0.\nPMD: ixgbe_dev_rx_queue_setup(): Vector rx enabled, please make sure RX\nburst size no less than 32.\nPort 0: 90:E2:BA:29:DF:58",
        "headers": {
            "Return-Path": "<david.marchand@6wind.com>",
            "MIME-Version": "1.0",
            "X-Mailman-Version": "2.1.15",
            "Date": "Tue, 26 Aug 2014 16:55:42 +0200",
            "X-List-Received-Date": "Tue, 26 Aug 2014 14:51:43 -0000",
            "References": "<1409062162-19575-1-git-send-email-david.marchand@6wind.com>\n\t<1409062162-19575-2-git-send-email-david.marchand@6wind.com>\n\t<CADNuJVruACvGgoSyN+aWOzPfvJrNPqsvAxwCvs2TxwRbhW+vyw@mail.gmail.com>",
            "Content-Type": "text/plain; charset=UTF-8",
            "X-BeenThere": "dev@dpdk.org",
            "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:mime-version:in-reply-to:references:date\n\t:message-id:subject:from:to:cc:content-type;\n\tbh=UJ9cTC/32lgi/GQK3VnoknreDT3dxVSleXuHpBqYVoQ=;\n\tb=eQs1B9M00eGmJQI8r3SszLaVCfvEd1UIG310QA3RwVqZRaZ9nHpubLrO2X+db6Xl4d\n\tx2VIXuoqtest5GuY2d3rUzScg9Z2HW9TrSsAVhB5OWT/U8GxCB55NyuZZ/I6AOu6H7kQ\n\tSni5KZpc0F4P3YCrwklTOWf3+58GTES9KEGu+n/u96O+QiWwfpp6wgXyGR5dO0/lRYab\n\tb9fSUyqSrylqt+hlCcjv2g7rDpPpB9FhzrIKyDJjtZLZiStb5x1KePVlzP1GC8GT3jGS\n\tlkEwqBrEUuFm6oj5H6aBO3j7oXZJopb7s7UJxErimsIidmmAuzDn4VYrGyhloyxngj+e\n\thWYQ==",
            "Received": [
                "from mail-oi0-f47.google.com (mail-oi0-f47.google.com\n\t[209.85.218.47]) by dpdk.org (Postfix) with ESMTP id 246C7B3C5\n\tfor <dev@dpdk.org>; Tue, 26 Aug 2014 16:51:43 +0200 (CEST)",
                "by mail-oi0-f47.google.com with SMTP id x69so10797369oia.34\n\tfor <dev@dpdk.org>; Tue, 26 Aug 2014 07:55:42 -0700 (PDT)",
                "by 10.202.214.88 with HTTP; Tue, 26 Aug 2014 07:55:42 -0700 (PDT)"
            ],
            "Subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
            "X-Content-Filtered-By": "Mailman/MimeDel 2.1.15",
            "X-Received": "by 10.60.67.34 with SMTP id k2mr28037183oet.52.1409064942258;\n\tTue, 26 Aug 2014 07:55:42 -0700 (PDT)",
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "Message-ID": "<CALwxeUtqN+vZnHODvNgV7FvGGAKTtr7x2gxnoPosbcJx73sx9Q@mail.gmail.com>",
            "Precedence": "list",
            "X-Gm-Message-State": "ALoCoQmtfjSyrQ9ko+JmG0hULdSBRgoFVgRjDxzqVkuSTgNiM0zd4nnOh23Y0YwLUCzQiZV3PJIn",
            "From": "David Marchand <david.marchand@6wind.com>",
            "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
            "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
            "Cc": "\"dev@dpdk.org\" <dev@dpdk.org>",
            "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
            "In-Reply-To": "<CADNuJVruACvGgoSyN+aWOzPfvJrNPqsvAxwCvs2TxwRbhW+vyw@mail.gmail.com>",
            "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "List-Post": "<mailto:dev@dpdk.org>",
            "To": "Jay Rolette <rolette@infiniteio.com>"
        }
    },
    {
        "id": 506,
        "web_url": "http://patches.dpdk.org/comment/506/",
        "msgid": "<CADNuJVqKAPqXtZziEfwGa0iLsEg0N9ujFC_6ZbA2z5D2GDat9g@mail.gmail.com>",
        "date": "2014-08-27T13:53:46",
        "subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
        "submitter": {
            "id": 61,
            "url": "http://patches.dpdk.org/api/people/61/",
            "name": "Jay Rolette",
            "email": "rolette@infiniteio.com"
        },
        "content": "Hi David,\n\nThe updated output is definitely an improvement, but if you'll go with the\nfirst solution you described (adding \\n in the log macro), it works much\nbetter for products using DPDK. For developer use, I think it ends up being\na wash either way.\n\nAt least for my product (embedded network appliance), we want to capture\nanything that is logging in syslog. The log macros in DPDK make that very\nreasonable to do, but if there are embedded newlines, it ends up screwing\nup log parsing when someone wants to process logs later.\n\nWe end up having to remove all of those newlines, which makes it harder to\nmerge as new releases coming out.\n\nI'm assuming most products have similar requirements for logging. That's at\nleast been the case for the products I've been involved with over the years.\n\nIf the PMDs are using PMD_LOG as a replacement macro for debugging\nprintf's, I can see where this might be a little more pain, but having\nPMD_LOG is a lot more useful it if easily integrates with central logging\nfacilities.\n\nThanks,\nJay\n\n\nOn Tue, Aug 26, 2014 at 9:55 AM, David Marchand <david.marchand@6wind.com>\nwrote:\n\n> Hello Jay,\n>\n> On Tue, Aug 26, 2014 at 4:23 PM, Jay Rolette <rolette@infiniteio.com>\n> wrote:\n>\n>> Why are you adding newlines to log message strings? Shouldn't that be up\n>> to whatever the messages end up getting routed to?\n>>\n>\n> Actually, I wanted to have consistent log formats in the PMDs so that the\n> log messages displayed at runtime are aligned (and not bouncing with \\n\n> before or after the log message).\n> There was two solutions from my point of view :\n> - either always add a \\n in the log macro and remove all trailing \\n\n> - do the opposite\n>\n> I preferred the latter as it let users of the macro set the message format\n> as they want.\n>\n>\n> Before this change :\n>\n> Configuring Port 0 (socket 1)\n> PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f3e59cd8080\n> hw_ring=0x7f3e59d02080 dma_addr=0x727702080\n>\n> PMD: ixgbe_dev_tx_queue_setup(): Using simple tx code path\n>\n> PMD: ixgbe_dev_tx_queue_setup(): Vector tx enabled.\n>\n> PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7f3e59cd57c0\n> hw_ring=0x7f3e59d12080 dma_addr=0x727712080\n>\n> PMD: ixgbe_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are\n> satisfied. Rx Burst Bulk Alloc function will be used on port=0, queue=0.\n>\n> PMD: ixgbe_dev_rx_queue_setup(): Vector rx enabled, please make sure RX\n> burst size no less than 32.\n>\n>\n> After this change :\n>\n> Configuring Port 0 (socket 1)\n> PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7fd47ecd8080\n> hw_ring=0x7fd47ed02080 dma_addr=0x727702080\n> PMD: ixgbe_dev_tx_queue_setup(): Using simple tx code path\n> PMD: ixgbe_dev_tx_queue_setup(): Vector tx enabled.\n> PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7fd47ecd57c0\n> hw_ring=0x7fd47ed12080 dma_addr=0x727712080\n> PMD: ixgbe_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are\n> satisfied. Rx Burst Bulk Alloc function will be used on port=0, queue=0.\n> PMD: ixgbe_dev_rx_queue_setup(): Vector rx enabled, please make sure RX\n> burst size no less than 32.\n> Port 0: 90:E2:BA:29:DF:58\n>\n>\n> --\n> David Marchand\n>",
        "headers": {
            "Return-Path": "<rolette@infiniteio.com>",
            "MIME-Version": "1.0",
            "X-Mailman-Version": "2.1.15",
            "Date": "Wed, 27 Aug 2014 08:53:46 -0500",
            "X-List-Received-Date": "Wed, 27 Aug 2014 13:49:43 -0000",
            "References": "<1409062162-19575-1-git-send-email-david.marchand@6wind.com>\n\t<1409062162-19575-2-git-send-email-david.marchand@6wind.com>\n\t<CADNuJVruACvGgoSyN+aWOzPfvJrNPqsvAxwCvs2TxwRbhW+vyw@mail.gmail.com>\n\t<CALwxeUtqN+vZnHODvNgV7FvGGAKTtr7x2gxnoPosbcJx73sx9Q@mail.gmail.com>",
            "Content-Type": "text/plain; charset=UTF-8",
            "X-BeenThere": "dev@dpdk.org",
            "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:mime-version:in-reply-to:references:date\n\t:message-id:subject:from:to:cc:content-type;\n\tbh=aj4Z4NEvo6rC5aQLvEk3I5VClhb/V93G0S/Gv7f5U4k=;\n\tb=MuDkfjlpvQcJCoxs2ZVQZa9Ur2eL7Xb32w4Y6hzAPrrCKBfL4Bz8CVaYi0SQh2EJ6q\n\t9Ai2QsZ5vMVniNeNdYAHXxqg/eTiToto17NT0tUb6iMqdXkMukNF387c2VoU/WRL89Xf\n\tkTxNgd+yHUz9BD/v3xrVHEVj0u96Ka5USU/QBTS82CP+z2NL1kY7uaWEp6JuVwPgEpTg\n\tVRz4FQ+DAqJnujnFqXvj0fv+A2+3ua4kNmjyCZzUpJOjFXKU9kR502Hn7SYEAfj1kfHJ\n\tGNQP2UASyIWjBwSj8xipevH37Scmkz8pN4owqCGteNVh7YidV3e1KMXpoxxaLJo1c2SO\n\tMs0w==",
            "Received": [
                "from mail-yh0-f43.google.com (mail-yh0-f43.google.com\n\t[209.85.213.43]) by dpdk.org (Postfix) with ESMTP id 889A95946\n\tfor <dev@dpdk.org>; Wed, 27 Aug 2014 15:49:43 +0200 (CEST)",
                "by mail-yh0-f43.google.com with SMTP id 29so224029yhl.16\n\tfor <dev@dpdk.org>; Wed, 27 Aug 2014 06:53:47 -0700 (PDT)",
                "by 10.170.96.213 with HTTP; Wed, 27 Aug 2014 06:53:46 -0700 (PDT)"
            ],
            "Subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
            "X-Content-Filtered-By": "Mailman/MimeDel 2.1.15",
            "X-Received": "by 10.236.164.70 with SMTP id b46mr52057448yhl.16.1409147626941; \n\tWed, 27 Aug 2014 06:53:46 -0700 (PDT)",
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "Message-ID": "<CADNuJVqKAPqXtZziEfwGa0iLsEg0N9ujFC_6ZbA2z5D2GDat9g@mail.gmail.com>",
            "Precedence": "list",
            "X-Gm-Message-State": "ALoCoQnbNuFBf79EkCTi6R4kIa+mMfo6v3yr7PlJuDvCudjMZPm6Wd3VKM27vrIUdzhrfS5bDNji",
            "From": "Jay Rolette <rolette@infiniteio.com>",
            "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
            "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
            "Cc": "\"dev@dpdk.org\" <dev@dpdk.org>",
            "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
            "In-Reply-To": "<CALwxeUtqN+vZnHODvNgV7FvGGAKTtr7x2gxnoPosbcJx73sx9Q@mail.gmail.com>",
            "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "List-Post": "<mailto:dev@dpdk.org>",
            "To": "David Marchand <david.marchand@6wind.com>"
        }
    },
    {
        "id": 527,
        "web_url": "http://patches.dpdk.org/comment/527/",
        "msgid": "<20140827110657.557e0368@urahara>",
        "date": "2014-08-27T18:06:57",
        "subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
        "submitter": {
            "id": 27,
            "url": "http://patches.dpdk.org/api/people/27/",
            "name": "Stephen Hemminger",
            "email": "stephen@networkplumber.org"
        },
        "content": "On Wed, 27 Aug 2014 08:53:46 -0500\nJay Rolette <rolette@infiniteio.com> wrote:\n\n> The updated output is definitely an improvement, but if you'll go with the\n> first solution you described (adding \\n in the log macro), it works much\n> better for products using DPDK. For developer use, I think it ends up being\n> a wash either way.\n\nAlso for driver consistency, all drivers must do the same thing. I.e the PMD_INIT_LOG\nmacro should either add or not add newline in the same way in all drivers.\nI fixed virtio and vmxnet3 by just taking extra newlines out of messages\nand leaving the macro alone.",
        "headers": {
            "Return-Path": "<stephen@networkplumber.org>",
            "References": "<1409062162-19575-1-git-send-email-david.marchand@6wind.com>\n\t<1409062162-19575-2-git-send-email-david.marchand@6wind.com>\n\t<CADNuJVruACvGgoSyN+aWOzPfvJrNPqsvAxwCvs2TxwRbhW+vyw@mail.gmail.com>\n\t<CALwxeUtqN+vZnHODvNgV7FvGGAKTtr7x2gxnoPosbcJx73sx9Q@mail.gmail.com>\n\t<CADNuJVqKAPqXtZziEfwGa0iLsEg0N9ujFC_6ZbA2z5D2GDat9g@mail.gmail.com>",
            "X-Mailman-Version": "2.1.15",
            "Date": "Wed, 27 Aug 2014 11:06:57 -0700",
            "X-List-Received-Date": "Wed, 27 Aug 2014 18:03:02 -0000",
            "List-Post": "<mailto:dev@dpdk.org>",
            "Content-Type": "text/plain; charset=US-ASCII",
            "X-BeenThere": "dev@dpdk.org",
            "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to\n\t:references:mime-version:content-type:content-transfer-encoding;\n\tbh=lagWwcEUBmb0+4K7lpKuam2YQM5+JfbGGTcNNcc1Z14=;\n\tb=RODaZ+Yhv8OfD2AVURjKXKEp5VCzu11f3doC/la2bsSnmns9J2ZtTR0OnC6O49tjzT\n\tOyYB+xdg5Aay+O8y6HEWaSTP2opgwBIQM4JCxPh0a9nnbLaHEVh6DLVlTaAA5lUa8hMw\n\tYxvIBJdm9fd8+ZeEZ9DetzxUaz/No8/aTmjfJC7zFrlwWKOqSTpvIdWx8yLpAXH10WVn\n\tktCTvZKoPBZDMNlL4pUsxeaQukAUb/OIeqmoZrwZR1eDkC1Xl+ZEJXtEQQOe/EaLmosR\n\tSuQbP6Mf2oeLj0QcFlD3Q5a5yc6gtpB6sa5X8Ad59C4XFdeh2k+wAj4s8HZrqoBUIs1u\n\tWq4g==",
            "Received": [
                "from mail-pa0-f48.google.com (mail-pa0-f48.google.com\n\t[209.85.220.48]) by dpdk.org (Postfix) with ESMTP id 51CCCB390\n\tfor <dev@dpdk.org>; Wed, 27 Aug 2014 20:03:02 +0200 (CEST)",
                "by mail-pa0-f48.google.com with SMTP id et14so798311pad.35\n\tfor <dev@dpdk.org>; Wed, 27 Aug 2014 11:07:03 -0700 (PDT)",
                "from urahara (static-50-53-65-80.bvtn.or.frontiernet.net.\n\t[50.53.65.80]) by mx.google.com with ESMTPSA id\n\thc11sm1042416pbd.70.2014.08.27.11.07.01 for <multiple recipients>\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 27 Aug 2014 11:07:02 -0700 (PDT)"
            ],
            "Subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
            "X-Received": "by 10.68.175.161 with SMTP id cb1mr47688832pbc.91.1409162822618; \n\tWed, 27 Aug 2014 11:07:02 -0700 (PDT)",
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "Message-ID": "<20140827110657.557e0368@urahara>",
            "Precedence": "list",
            "X-Gm-Message-State": "ALoCoQkEBMpqT4dJe8g8mfZs0RiBBnmKNYZI9YxiYjT3phLGC218m3tqzufjCKcNaZYHkN4LY9DI",
            "From": "Stephen Hemminger <stephen@networkplumber.org>",
            "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
            "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
            "Cc": "\"dev@dpdk.org\" <dev@dpdk.org>",
            "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
            "In-Reply-To": "<CADNuJVqKAPqXtZziEfwGa0iLsEg0N9ujFC_6ZbA2z5D2GDat9g@mail.gmail.com>",
            "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "MIME-Version": "1.0",
            "Content-Transfer-Encoding": "7bit",
            "To": "Jay Rolette <rolette@infiniteio.com>"
        }
    },
    {
        "id": 572,
        "web_url": "http://patches.dpdk.org/comment/572/",
        "msgid": "<CALwxeUsgEYhasd9XO7gKYUj_6_Sg-Y73jDHnHU7i=4hm8mSdVw@mail.gmail.com>",
        "date": "2014-08-29T07:45:29",
        "subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
        "submitter": {
            "id": 3,
            "url": "http://patches.dpdk.org/api/people/3/",
            "name": "David Marchand",
            "email": "david.marchand@6wind.com"
        },
        "content": "On Wed, Aug 27, 2014 at 8:06 PM, Stephen Hemminger <\nstephen@networkplumber.org> wrote:\n\n> On Wed, 27 Aug 2014 08:53:46 -0500\n> Jay Rolette <rolette@infiniteio.com> wrote:\n>\n> > The updated output is definitely an improvement, but if you'll go with\n> the\n> > first solution you described (adding \\n in the log macro), it works much\n> > better for products using DPDK. For developer use, I think it ends up\n> being\n> > a wash either way.\n>\n> Also for driver consistency, all drivers must do the same thing. I.e the\n> PMD_INIT_LOG\n> macro should either add or not add newline in the same way in all drivers.\n> I fixed virtio and vmxnet3 by just taking extra newlines out of messages\n> and leaving the macro alone.\n>\n\nNot sure that we can talk about consistency at the moment ... (all the more\nso as if you only fixed two pmds).\nAnyway.\n\n\nIf we go with this approach, there is still something that won't work.\nixgbe shared code uses DEBUGOUT* macros which are called a lot in this\nshared code.\nThe macros call sites use trailing \\n.\nI suppose I will have a big NO from Intel guys if I remove the trailing \\n,\nso I suppose we can use an alternate macro that calls RTE_LOG rather than\nPMD_DRV_LOG in ixgbe_os_dep.h.\n\nI will also remove any reference to DEBUGOUT* in non-shared code.\n>From my point of view, these macro are only here for compat with shared\ncode.\n\n\nBy the way, did you look at the other patches of this series ?\n\nI want to send a v2 later (maybe not today), so any comment on the other\npatches are welcome.",
        "headers": {
            "Return-Path": "<david.marchand@6wind.com>",
            "MIME-Version": "1.0",
            "X-Mailman-Version": "2.1.15",
            "Date": "Fri, 29 Aug 2014 09:45:29 +0200",
            "X-List-Received-Date": "Fri, 29 Aug 2014 07:41:19 -0000",
            "References": "<1409062162-19575-1-git-send-email-david.marchand@6wind.com>\n\t<1409062162-19575-2-git-send-email-david.marchand@6wind.com>\n\t<CADNuJVruACvGgoSyN+aWOzPfvJrNPqsvAxwCvs2TxwRbhW+vyw@mail.gmail.com>\n\t<CALwxeUtqN+vZnHODvNgV7FvGGAKTtr7x2gxnoPosbcJx73sx9Q@mail.gmail.com>\n\t<CADNuJVqKAPqXtZziEfwGa0iLsEg0N9ujFC_6ZbA2z5D2GDat9g@mail.gmail.com>\n\t<20140827110657.557e0368@urahara>",
            "Content-Type": "text/plain; charset=UTF-8",
            "X-BeenThere": "dev@dpdk.org",
            "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:mime-version:in-reply-to:references:date\n\t:message-id:subject:from:to:cc:content-type;\n\tbh=8DaAgA+VnsZ/ztc8rQ8O6i7ChhyHscaFSWOC25zi10w=;\n\tb=VDVoU6qax4eLde7/qCRZMlmJAmqGkYsimvfIyTQ5EOQhYVTKsrpFzfqpdlYTYliXoA\n\t5pDZCZb0YRDDijrtCwOs8R5DI/9z/ZhISgrhoduDkLyEopdDH3dBflE/HJBeNoKIuoqY\n\te5z07BwnRejkWwZUjd4hiZDh/sltMt0u3bO+Fd+Tzx5cec8EZjkH/rLPE46JjnQeBTv9\n\tctqsJJl6nEFzHqCM/8LsqhB48ph4uosqX+LYpqkk2I5hywTD7SQ/c3netqSLA2ROl5R+\n\tY/LxxEpIcNrDqVyejFGRuKu6RR2YhCyFW9/yga4iU5OjTI+MSYh84KGwQwq87D76bZr6\n\tSChA==",
            "Received": [
                "from mail-oi0-f42.google.com (mail-oi0-f42.google.com\n\t[209.85.218.42]) by dpdk.org (Postfix) with ESMTP id F3C95B373\n\tfor <dev@dpdk.org>; Fri, 29 Aug 2014 09:41:18 +0200 (CEST)",
                "by mail-oi0-f42.google.com with SMTP id v63so1357598oia.15\n\tfor <dev@dpdk.org>; Fri, 29 Aug 2014 00:45:29 -0700 (PDT)",
                "by 10.202.73.74 with HTTP; Fri, 29 Aug 2014 00:45:29 -0700 (PDT)"
            ],
            "Subject": "Re: [dpdk-dev] [PATCH 01/11] ixgbe: clean log messages",
            "X-Content-Filtered-By": "Mailman/MimeDel 2.1.15",
            "X-Received": "by 10.182.111.229 with SMTP id il5mr8527936obb.3.1409298329575; \n\tFri, 29 Aug 2014 00:45:29 -0700 (PDT)",
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "Message-ID": "<CALwxeUsgEYhasd9XO7gKYUj_6_Sg-Y73jDHnHU7i=4hm8mSdVw@mail.gmail.com>",
            "Precedence": "list",
            "X-Gm-Message-State": "ALoCoQnbEbqQimTLsSvEaNGrraBvwTcQaeLP/nKJ7hSnzY/YG/lMspWU32HttohmjwmaZ5/EAN1V",
            "From": "David Marchand <david.marchand@6wind.com>",
            "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
            "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
            "Cc": "\"dev@dpdk.org\" <dev@dpdk.org>",
            "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
            "In-Reply-To": "<20140827110657.557e0368@urahara>",
            "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "List-Post": "<mailto:dev@dpdk.org>",
            "To": "Stephen Hemminger <stephen@networkplumber.org>"
        }
    }
]