> On Dec 14, 2018, at 9:29 AM, Wiles, Keith <keith.wi...@intel.com> wrote:
> 
> 
> 
>> On Dec 14, 2018, at 5:26 AM, Rafał Kozik <r...@semihalf.com> wrote:
>> 
>> Hello Keith,
>> 
>> as from my last post passed about three weeks I would kindly ask
>> if you could provide any comments about this patch?
> 
> Missed this patch originally as it did not have pktgen on the status line.
> 
> Can you give more details as to how to reproduce the failure? 

I can not find your patch in patchwork, does anyone know why?

>> 
>> Best regards,
>> Rafal Kozik
>> 
>> pt., 23 lis 2018 o 09:23 Rafal Kozik <r...@semihalf.com> napisał(a):
>>> 
>>> If in one TX cycle NIC does not send any packet, pktgen tries
>>> to allocate 0 mbufs from pool. In such case DPDK return error
>>> and packets will not be send. As no packet will be send in
>>> next iteration this situation will repeat.
>>> 
>>> Checking if taking more mbufs is needed will prevent this situation.
>>> 
>>> Fixes: f034b381d19f ("cleanup and fix for FVL NIC performance")
>>> 
>>> Signed-off-by: Rafal Kozik <r...@semihalf.com>
>>> ---
>>> app/pktgen.c | 6 ++++--
>>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>> 
>>> diff --git a/app/pktgen.c b/app/pktgen.c
>>> index 2d9ff59..b4d3dfe 100644
>>> --- a/app/pktgen.c
>>> +++ b/app/pktgen.c
>>> @@ -1054,7 +1054,8 @@ pktgen_send_pkts(port_info_t *info, uint16_t qid, 
>>> struct rte_mempool *mp)
>>>               uint16_t saved = info->q[qid].tx_mbufs.len;
>>>               uint16_t nb_pkts = info->tx_burst - saved;
>>> 
>>> -               rc = pg_pktmbuf_alloc_bulk(mp,
>>> +               if (likely(nb_pkts > 0))
>>> +                       rc = pg_pktmbuf_alloc_bulk(mp,
>>>                                          
>>> &info->q[qid].tx_mbufs.m_table[saved],
>>>                                          nb_pkts);
>>>               if (rc == 0) {
>>> @@ -1070,7 +1071,8 @@ pktgen_send_pkts(port_info_t *info, uint16_t qid, 
>>> struct rte_mempool *mp)
>>>                       uint16_t saved = info->q[qid].tx_mbufs.len;
>>>                       uint16_t nb_pkts = txCnt - saved;
>>> 
>>> -                       rc = pg_pktmbuf_alloc_bulk(mp,
>>> +                       if (likely(nb_pkts > 0))
>>> +                               rc = pg_pktmbuf_alloc_bulk(mp,
>>>                                                  
>>> &info->q[qid].tx_mbufs.m_table[saved],
>>>                                                  nb_pkts);
>>>                       if (rc == 0) {
>>> --
>>> 2.7.4
>>> 
> 
> Regards,
> Keith

Regards,
Keith

Reply via email to