On 6/29/22 15:27, Amber, Kumar wrote: > 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.
Thanks, everyone! Applied and backported down to 2.16. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
