[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNARr9JJLKwDe-j_VjHPYhwf3Li0wDx+-rw38Bj3fR2p2UA@mail.gmail.com>
Date: Thu, 11 Jan 2018 01:12:42 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: Ulf Magnusson <ulfalizer@...il.com>
Cc: "Yann E. MORIN" <yann.morin.1998@...e.fr>,
Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
Sam Ravnborg <sam@...nborg.org>, zippel@...ux-m68k.org,
Nicolas Pitre <nicolas.pitre@...aro.org>,
Michal Marek <michal.lkml@...kovi.net>, dirk@...ders.net,
Arnaud Lacombe <lacombar@...il.com>, walch.martin@....de,
Jan Beulich <JBeulich@...e.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 0/6] kconfig: Fix memory leaks during parsing
2017-10-09 2:11 GMT+09:00 Ulf Magnusson <ulfalizer@...il.com>:
> Hello,
>
> This patchset plugs all memory leaks that occur in the parser (zconf.y) while
> parsing the x86 Kconfigs (and likely the other ARCHes too). I noticed that
> Kconfig is pretty leaky while working on the fix for 'm' before MODULES
> (http://www.spinics.net/lists/linux-kbuild/msg15606.html).
>
> The biggest culprit is all symbol names being leaked outside of expressions:
> 316 KB leaked. 'source' filenames being leaked adds another 41 KB. The other
> leaks are minor (< 1 KB each). The fixes can be applied independently.
>
> This is mostly just to get a clean slate with Valgrind, but also cleans up the
> code a bit as a side effect. Any performance difference (plus or minus) seems
> to be in the noise.
>
> Tested with the Kconfiglib test suite, which indirectly verifies that Kconfig
> still generates the same .config for alldefconfig, allnoconfig, allyesconfig,
> and all defconfigs, for all architectures. I also tested that menuconfig gets
> the right main menu text with and without a 'mainmenu' statement.
>
> As a reminder, the parsers can be rebuilt like this:
>
> $ make REGENERATE_PARSERS=1 conf
>
> Here's an easy way to run Valgrind on menuconfig (nothing seems to look at
> KERNELVERSION, so just set it to avoid a warning):
>
> $ ARCH=x86 SRCARCH=x86 KERNELVERSION=4.14.0-rc2 valgrind --leak-check=full scripts/kconfig/mconf Kconfig
>
> Cheers,
> Ulf
>
> Ulf Magnusson (6):
> kconfig: Don't leak symbol names during parsing
> kconfig: Don't leak 'source' filenames during parsing
> kconfig: Don't leak 'option' arguments during parsing
> Kconfig: Don't leak main menus during parsing
> kconfig: Don't leak help strings during parsing
> kconfig: Regenerate parser
I applied 1-5.
I left some comments on 5.
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists