Re: [mmotm and linux-next][PATCH] irq: enclose irq_desc_lock_classin CONFIG_LOCKDEP

From: Ingo Molnar
Date: Thu Dec 18 2008 - 08:36:53 EST



* KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> wrote:

> > >> or, following #ifdef ?
> > >>
> > >> #if defined(CONFIG_SPARSE_IRQ) || defined(CONFIG_TRACE_IRQFLAGS)
> > >>
> > >> /*
> > >> * lockdep: we want to handle all irq_desc locks as a single lock-class:
> > >> */
> > >> static struct lock_class_key irq_desc_lock_class;
> > >
> > > instead of increasing the #ifdef jungle, how about removing some? For
> > > example is this distinction:
> > >
> > >> > #ifndef CONFIG_SPARSE_IRQ
> > >
> > > really needed? We should use symmetric lock class annotations, regardless
> > > of how irq_desc[] is laid out.
> >
> > it seems make much sense. I'll test your idea tommorow.
>
> Ingo, you are right. I confirmed your idea works well.
>
>
> I tested following ten pattern.
>
> o handle.c can compile without any warnings?
>
> SPARSE_IRQ TRACE_IRQ LOCKDEP
> ------------------------------------------
> n n n
> Y n n
> n Y n
> n n Y
> Y Y n
> N Y Y
> Y n Y
> Y Y Y
>
>
> o builded kernel works well? (tested on x86_64)
>
> SPARSE_IRQ TRACE_IRQ LOCKDEP
> ------------------------------------------
> n n n
> Y Y Y
>
>
> ==
> Subject: [PATCH] irq: remove unnecessary ifdef

Applied to tip/irq/sparseirq, thanks!

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/