On 6/5/2019 12:55 PM, Ferruh Yigit wrote:
> On 5/31/2019 7:22 AM, Jakub Grajciar wrote:
>> Memory interface (memif), provides high performance
>> packet transfer over shared memory.
> 
> Almost there, can you please check below comments? I am hoping to merge next
> version of the patch.
> 
> Thanks,
> ferruh
> 
>>
>> Signed-off-by: Jakub Grajciar <jgraj...@cisco.com>
> 
> <...>
> 
>> +static const char *valid_arguments[] = {
>> +    ETH_MEMIF_ID_ARG,
>> +    ETH_MEMIF_ROLE_ARG,
>> +    ETH_MEMIF_PKT_BUFFER_SIZE_ARG,
>> +    ETH_MEMIF_RING_SIZE_ARG,
>> +    ETH_MEMIF_SOCKET_ARG,
>> +    ETH_MEMIF_MAC_ARG,
>> +    ETH_MEMIF_ZC_ARG,
>> +    ETH_MEMIF_SECRET_ARG,
>> +    NULL
>> +};
> 
> Checkpatch is giving following warning:
> 
> WARNING:STATIC_CONST_CHAR_ARRAY: static const char * array should probably be
> static const char * const
> #1885: FILE: drivers/net/memif/rte_eth_memif.c:39:
> +static const char *valid_arguments[] = {
> 
> <...>
> 
>> +static int
>> +rte_pmd_memif_remove(struct rte_vdev_device *vdev)
>> +{
>> +    struct rte_eth_dev *eth_dev;
>> +    int i;
>> +
>> +    eth_dev = rte_eth_dev_allocated(rte_vdev_device_name(vdev));
>> +    if (eth_dev == NULL)
>> +            return 0;
>> +
>> +    for (i = 0; i < eth_dev->data->nb_rx_queues; i++)
>> +            
>> (*eth_dev->dev_ops->rx_queue_release)(eth_dev->data->rx_queues[i]);
>> +    for (i = 0; i < eth_dev->data->nb_tx_queues; i++)
>> +            
>> (*eth_dev->dev_ops->rx_queue_release)(eth_dev->data->tx_queues[i]);
> 
> Although they point same function, better to use 'dev_ops->tx_queue_release' 
> for
> Tx queues.
> 
>> +
>> +    rte_free(eth_dev->process_private);
>> +    eth_dev->process_private = NULL;
> 
> "process_private" is not used in this PMD at all, no need to free it I think.
> 
>> +
>> +    rte_eth_dev_close(eth_dev->data->port_id);
> 
> There are two exit path from a PMD:
> 1) rte_eth_dev_close() API
> 2) rte_vdev_driver->remove() called by hotplug remove APIs ('rte_dev_remove()'
> or 'rte_eal_hotplug_remove()')
> 
> Both should clear all PMD allocated resources. Since you are calling
> 'rte_eth_dev_close() from this .remove() function, it makes sense to move all
> resource cleanup to .dev_close (like queue cleanup calls above).
> 

Hi Jakup,

Above comments seems not implemented in v11, can you please check them?
If anything is not clear feel free to reach me on the irc.

Thanks,
ferruh
  • [dpdk-dev] [... Jakub Grajciar
    • Re: [dp... Ferruh Yigit
      • Re:... Jakub Grajciar -X (jgrajcia - PANTHEON TECHNOLOGIES at Cisco)
    • [dpdk-d... Jakub Grajciar
      • Re:... Ye Xiaolong
        • ... Jakub Grajciar -X (jgrajcia - PANTHEON TECHNOLOGIES at Cisco)
          • ... Ye Xiaolong
        • ... Ferruh Yigit
      • Re:... Aaron Conole
      • Re:... Ferruh Yigit
        • ... Ferruh Yigit
          • ... Jakub Grajciar -X (jgrajcia - PANTHEON TECHNOLOGIES at Cisco)
          • ... Ferruh Yigit
      • [dp... Jakub Grajciar
        • ... Jakub Grajciar
          • ... Ferruh Yigit

Reply via email to