lkml.org 
[lkml]   [2005]   [Jun]   [3]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 3 Jun 2005 07:16:29 +0200
FromIngo Molnar <>
SubjectRe: [rfc] [patch] consolidate/clean up spinlock.h files
* Roman Zippel <zippel@linux-m68k.org> 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@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-06-03 05:21    [from the cache]
©2003-2008