Re: [PATCH 03/16] dma-debug: add hash functions fordma_debug_entries

From: Ingo Molnar
Date: Wed Jan 14 2009 - 12:44:34 EST



* Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Wed, 14 Jan 2009 12:43:47 +0100 Ingo Molnar <mingo@xxxxxxx> wrote:
>
> >
> > * Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > > On Fri, 9 Jan 2009 17:19:17 +0100 Joerg Roedel <joerg.roedel@xxxxxxx> wrote:
> > >
> > > > +struct hash_bucket {
> > > > + struct list_head list;
> > > > + spinlock_t lock;
> > > > +} ____cacheline_aligned;
> > >
> > > __cacheline_aligned_in_smp.
> > >
> > > This all looks like an exotically large amount of code for a debug
> > > thingy?
> >
> > this code checks the DMA usage of ~1 million lines of kernel code -
> > all the DMA using drivers. I think Joerg's feature is hugely relevant
> > as DMA scribbles are one of the hardest to debug kernel bugs: they can
> > end up in permanent data corruption or other hard to find bugs. In
> > fact i think his patchset is rather simple and even having 10 times as
> > much debug code would pay for its existence in the long run.
>
> Have we previously found bugs by other means which this facility would
> have detected? I don't recall any...

this facility found a handful of real bugs already - Joerg, do you have
more specifics about that?

Also, such a facility would be useful during driver development, when such
bugs occur en masse. Faster driver development under Linux is certainly
desirable.

This facility basically adds a sandbox to all DMA ops and tracks the
lifetime and validity of DMA operations. Given how ugly DMA bugs can be in
practice and how hard to debug they are, i see this as good step forward.

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