Re: [PATCH 1/19] MUTEX: Introduce simple mutex implementation

Andrew Morton
2005-12-13T08:43:39Z

Andi Kleen <ak@suse.de> wrote:
>
> > - i introduced a 'type-sensitive' macro wrapper that switches down()
> > (and the other APIs) to either to the assembly variant (if the
> > variable's type is struct compat_semaphore), or switches it to the new
> > generic mutex (if the type is struct semaphore), at build-time. There
> > is no runtime overhead due to this build-time-switching.
>
> Didn't that drop compatibility with 2.95? The necessary builtins
> are only in 3.x.
>
> Not that I'm not in favour - I would like to use C99 everywhere
> and it would get of the ugly spinlock workaround for i386
> and x86-64 doesn't support earlier compilers anyways -
> but others might not agree.
>

2.95.x is basically buggered at present. There's one scsi driver which
doesn't compile due to weird __VA_ARGS__ tricks and the rather useful
scsi/sd.c is currently getting an ICE. None of the new SAS code compiles,
due to extensive use of anonymous unions. The V4L guys are very good at
exploiting the gcc-2.95.x macro expansion bug (_why_ does each driver need
to implement its own debug macros?) and various people keep on sneaking in
anonymous unions.

It's time to give up on it and just drink more coffee or play more tetris
or something, I'm afraid.