Re: [PATCH] kmemleak: Increase maximum early log entries to 1000000
From: Doug Anderson
Date: Tue Jul 23 2019 - 18:25:10 EST
Hi,
On Tue, Jul 23, 2019 at 1:21 AM Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
>
> On Tue, Jul 23, 2019 at 10:13 AM Nicolas Boichat <drinkcat@xxxxxxxxxxxx> wrote:
> >
> > On Tue, Jul 23, 2019 at 3:46 PM Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
> > >
> > > On Tue, Jul 23, 2019 at 9:26 AM Nicolas Boichat <drinkcat@xxxxxxxxxxxx> wrote:
> > > >
> > > > When KASan is enabled, a lot of memory is allocated early on,
> > > > and kmemleak complains (this is on a 4GB RAM system):
> > > > kmemleak: Early log buffer exceeded (129846), please increase
> > > > DEBUG_KMEMLEAK_EARLY_LOG_SIZE
> > > >
> > > > Let's increase the upper limit to 1M entry. That would take up
> > > > 160MB of RAM at init (each early_log entry is 160 bytes), but
> > > > the memory would later be freed (early_log is __initdata).
> > >
> > > Interesting. Is it on an arm64 system?
> >
> > Yes arm64. And this is chromiumos-4.19 tree. I didn't try to track
> > down where these allocations come from...
>
> So perhaps it's due to arm64, or you have even more configs, or maybe
> running on real hardware. But I guess it's fine as is, just wondered
> why such a radical difference. Thanks.
If I had to guess I'd guess gcc vs. clang. I think we've noticed a
few places where clang+kasan produces much bloatier code than
gcc+kasan. Oh look, I just invented a new word: bloatier. :-P
...could you try building with gcc and see if that explains the problems?
-Doug