Hi Ilya,

> -----Original Message-----
> From: Ilya Maximets <[email protected]>
> Sent: Wednesday, June 29, 2022 5:55 PM
> To: Eelco Chaudron <[email protected]>
> Cc: [email protected]; [email protected]; Flavio Leitner
> <[email protected]>; Amber, Kumar <[email protected]>
> Subject: Re: [ovs-dev] [PATCH] dpif-netdev: Fix leak of AVX512 DPIF scratch
> pad.
> 
> On 6/29/22 13:45, Eelco Chaudron wrote:
> >
> >
> > On 29 Jun 2022, at 12:22, Ilya Maximets wrote:
> >
> >> dp_netdev_input_outer_avx512 allocates a 16KB scratch pad per PMD
> >> thread, but it's never freed.  This may cause significant memory
> >> drain in dynamic environments.
> >>
> >>   ==4068109==ERROR: LeakSanitizer: detected memory leaks
> >>
> >>   Direct leak of 38656 byte(s) in 2 object(s) allocated from:
> >>    0 0xf069fd in posix_memalign (vswitchd/ovs-vswitchd+0xf069fd)
> >>    1 0x1d7ed14 in xmalloc_size_align lib/util.c:254:13
> >>    2 0x1d7ed14 in xmalloc_pagealign lib/util.c:352:12
> >>    3 0x2098254 in dp_netdev_input_outer_avx512 lib/dpif-netdev-
> avx512.c:69:17
> >>    4 0x191591a in dp_netdev_process_rxq_port lib/dpif-netdev.c:5332:19
> >>    5 0x190a961 in pmd_thread_main lib/dpif-netdev.c:6963:17
> >>    6 0x1c4b69a in ovsthread_wrapper lib/ovs-thread.c:422:12
> >>    7 0x7fd5ea6f1179 in start_thread pthread_create.c
> >>
> >>  SUMMARY: AddressSanitizer: 38656 byte(s) leaked in 2 allocation(s).
> >>
> >> Fixes: 9ac84a1a3698 ("dpif-avx512: Add ISA implementation of dpif.")
> >> Signed-off-by: Ilya Maximets <[email protected]>
> >> ---
> >
> > Good catch... Do you have some script to run all kinds of sanitizers?
> 
> No.  For this one I just built with
>   CFLAGS="-msse4.2 -O1 -fno-omit-frame-pointer -fno-common -g -
> fsanitize=address -fsanitize=undefined" CC=clang
> 
> And then tried to run with asan environment variables:
> 
>   ASAN_OPTIONS='detect_leaks=1:abort_on_error=true:log_path=asan'
>   UBSAN_OPTIONS='print_stacktrace=1:halt_on_error=true:log_path=ubsan'
> 
> LeakSanitizer is part of the AddressSanitizer, you just need to ask to detect
> leaks (we're disabling that by default in tests/atlocal.in).
> 
> I didn't check, but I guess, you should be able to reproduce the issue by just
> building with Asan and running:
> 
>   ASAN_OPTIONS='detect_leaks=1:abort_on_error=true:log_path=asan' make
> check-dpdk
> 
> >
> >
> > Acked-by: Eelco Chaudron <[email protected]>
> >
Acked-by: Kumar Amber <[email protected]>

The changes look good to me, and Thanks again for fixing it.

Regards
Amber


_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to