[dpdk-dev] [PATCH v2] app/test/test_distributor.c: prevent memory leakages from the pool

Lukasz Wojciechowski l.wojciechow at partner.samsung.com
Tue Sep 1 20:31:35 CEST 2020


Sarosh,

I cherry picked your patch on current main branch and it works and 
builds without problems,

maybe try resubmitting it as v3.

Best regards

Lukasz

W dniu 24.06.2020 o 12:02, Sarosh Arif pisze:
> Some tests are failing on this patch but I don't think the reason
> behind the failure is this patch. Is there a certain way to know that
> the problem is in the patch or somewhere else?
>
>
> On Wed, Jun 24, 2020 at 2:04 PM Sarosh Arif <sarosh.arif at emumba.com> wrote:
>> Some tests are failing on this patch but I don't think the reason behind the failure is this patch. Is there a certain way to know that the problem is in the patch or somewhere else?
>>
>> On Wed, Apr 15, 2020 at 12:20 PM Sarosh Arif <sarosh.arif at emumba.com> wrote:
>>> Sure, will do that.
>>>
>>> On Wed, Apr 15, 2020 at 12:08 PM Lukasz Wojciechowski <l.wojciechow at partner.samsung.com> wrote:
>>>>
>>>> W dniu 15.04.2020 o 09:06, Sarosh Arif pisze:
>>>>
>>>> Yes, I plan to work on them when I get time.
>>>>
>>>> Great, please add me to CC. I would be glad to review it.
>>>>
>>>>
>>>> On Wed, Apr 15, 2020 at 11:52 AM Lukasz Wojciechowski <l.wojciechow at partner.samsung.com> wrote:
>>>>>
>>>>> W dniu 15.04.2020 o 08:42, Sarosh Arif pisze:
>>>>>> v2:
>>>>>> remove double freeing of mbufs
>>>>>>
>>>>>> Signed-off-by: Sarosh Arif <sarosh.arif at emumba.com>
>>>>>> ---
>>>>>>    app/test/test_distributor.c | 9 +++++++
>>>>>>    1 file changed, 7 insertions(+)
>>>>>>
>>>>>> diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c
>>>>>> index ba1f81cf8..5e972bb2e 100644
>>>>>> --- a/app/test/test_distributor.c
>>>>>> +++ b/app/test/test_distributor.c
>>>>>> @@ -128,6 +128,7 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p)
>>>>>>                printf("Line %d: Error, not all packets flushed. "
>>>>>>                                "Expected %u, got %u\n",
>>>>>>                                __LINE__, BURST, total_packet_count());
>>>>>> +             rte_mempool_put_bulk(p, (void *)bufs, BURST);
>>>>>>                return -1;
>>>>>>        }
>>>>>>
>>>>>> @@ -153,6 +154,7 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p)
>>>>>>                        printf("Line %d: Error, not all packets flushed. "
>>>>>>                                        "Expected %u, got %u\n",
>>>>>>                                        __LINE__, BURST, total_packet_count());
>>>>>> +                     rte_mempool_put_bulk(p, (void *)bufs, BURST);
>>>>>>                        return -1;
>>>>>>                }
>>>>>>
>>>>>> @@ -179,6 +181,7 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p)
>>>>>>                printf("Line %d: Error, not all packets flushed. "
>>>>>>                                "Expected %u, got %u\n",
>>>>>>                                __LINE__, BURST, total_packet_count());
>>>>>> +             rte_mempool_put_bulk(p, (void *)bufs, BURST);
>>>>>>                return -1;
>>>>>>        }
>>>>>>
>>>>>> @@ -233,6 +236,7 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p)
>>>>>>        if (num_returned != BIG_BATCH) {
>>>>>>                printf("line %d: Missing packets, expected %d\n",
>>>>>>                                __LINE__, num_returned);
>>>>>> +             rte_mempool_put_bulk(p, (void *)many_bufs, BIG_BATCH);
>>>>>>                return -1;
>>>>>>        }
>>>>>>
>>>>>> @@ -247,6 +251,7 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p)
>>>>>>
>>>>>>                if (j == BIG_BATCH) {
>>>>>>                        printf("Error: could not find source packet #%u\n", i);
>>>>>> +                     rte_mempool_put_bulk(p, (void *)many_bufs, BIG_BATCH);
>>>>>>                        return -1;
>>>>>>                }
>>>>>>        }
>>>>>>
>>>>>> 2.17.1
>>>>>>
>>>>> The sanity_test is ok now and does not have any mempool leaks.
>>>>>
>>>>> What about other tests in this file: Do you plan to work on them also?
>>>>>
>>>>> --
>>>>>
>>>>> Lukasz Wojciechowski
>>>>> Principal Software Engineer
>>>>>
>>>>> Samsung R&D Institute Poland
>>>>> Samsung Electronics
>>>>> Office +48 22 377 88 25
>>>>> l.wojciechow at partner.samsung.com
>>>>>
>>>> --
>>>>
>>>> Lukasz Wojciechowski
>>>> Principal Software Engineer
>>>>
>>>> Samsung R&D Institute Poland
>>>> Samsung Electronics
>>>> Office +48 22 377 88 25
>>>> l.wojciechow at partner.samsung.com
>>>>
>>>>
>>>>
>>>>
-- 
Lukasz Wojciechowski
Principal Software Engineer

Samsung R&D Institute Poland
Samsung Electronics
Office +48 22 377 88 25
l.wojciechow at partner.samsung.com



More information about the dev mailing list