lkml.org 
[lkml]   [2005]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 8/8] ALSA: convert kcalloc to kzalloc
At Sat, 06 Aug 2005 15:37:24 +0300,
Pekka Enberg wrote:
>
> Hi,
>
> Dmitry Torokhov wrote:
> > > Have you seen the following in include/sound/core?
> > >
> > > ...
> > > #define kmalloc(size, flags) snd_hidden_kmalloc(size, flags)
> > > #define kcalloc(n, size, flags) snd_hidden_kcalloc(n, size, flags)
> > > #define kfree(obj) snd_hidden_kfree(obj)
>
> On Fri, 2005-08-05 at 17:10 +0100, Paulo Marques wrote:
> > Arghh... I've been bitten by this before, too.
>
> Me too.

I understand. I would love to drop this feature if it's supported in
the kernel generically.


> On Fri, 2005-08-05 at 17:10 +0100, Paulo Marques wrote:
> > I really hate this "#define kmalloc" hack. It makes the code really
> > unreadble, because you expect a kmalloc to be just a kmalloc...
> >
> > Couldn't we turn this into a generic kernel debugging option, so that it
> > could be used for every kmalloc instead of just the ones from the sound
> > system?
> >
> > If I get this right, what this code does is to track kfree's on pointers
> > that were not alloc'ed with kmalloc (using a magic number) and keep
> > track of all the allocations to detect leaks.
>
> Yes, that's what it does.

It also has a similar check for vmalloc(), but it's less important
than kmalloc() (also for vmalloc, it doesn't nice since it breaks the
size and the alignment).


> On Fri, 2005-08-05 at 17:10 +0100, Paulo Marques wrote:
> > We already have SLAB_DEBUG. We could add a list of allocations with a
> > proc interface (or something) to give an histogram of kmalloc callers /
> > number of allocations not yet freed.
> >
> > This way, if after stopping everything related to sound there were still
> > callers like "snd_xxxx" (through kallsyms) you would know there is a
> > leak there.
> >
> > What does CONFIG_SND_DEBUG_MEMORY provide that this more generic scheme
> > does not?
>
> I would like to make it generic too. CONFIG_SND_DEBUG_MEMORY has the
> advantage of snd_memory_done() which can detect memory leaks in their
> modules automatically. Therefore, to replace the ALSA magic allocator,
> we would need to track which module did the allocation and add hooks to
> module_exit.

Yep, this would be nice to have. The memory leak detection per module
(or subsystem) helped us many times indeed.


Takashi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-08-08 12:23    [W:1.857 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site