Re: [rfc] [patch] consolidate/clean up spinlock.h files

From: Ingo Molnar
Date: Fri Jun 03 2005 - 00:19:26 EST



* Roman Zippel <zippel@xxxxxxxxxxxxxx> wrote:

> Hi,
>
> On Thu, 2 Jun 2005, Ingo Molnar wrote:
>
> > - consolidates and enhances the spinlock/rwlock debugging code
> >
> > - simplifies the asm/spinlock.h files
> >
> > - encapsulates the raw spinlock types and moves generic spinlock
> > features (such as ->break_lock) into the generic code.
> >
> > - cleans up the spinlock code hierarchy to get rid of spaghetti.
>
> That nicely splits the headers into several separate files, but the
> problem is that all these new header files are only of limited value
> outside the spinlock code.
> What I'd really to see is a split of definitions and implementation. That
> means the definitions would be available via <linux/spinlock_types.h> and
> could be used in other core headers and would pull in a lot less header
> files. Header dependencies got worse especially since preempt got
> included.
> The patch below does the minimum to provide spinlock_types.h. We could
> also include initializers.

yes, that's what i'm working towards - separating type from
implementation on the arch level was the first step needed. I already
had it at such a state yesterday (complete separation of type
definitions, API definitions and asm implementation - it needed the
initializers in the asm/spinlock_types.h file, but otherwise it was
straightforward), but undid it in the last minute because sched.c and
kernel_lock.c used some intermediate/raw primitives, leading to ugly
dependencies. I'll re-try this angle today and repost the patch.

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/