Re: [PATCH 4/4] x86: Final unification of local_{32|64}.h

From: Harvey Harrison
Date: Sun Dec 16 2007 - 18:39:09 EST


On Sun, 2007-12-16 at 14:48 -0800, H. Peter Anvin wrote:
> Ingo Molnar wrote:
> > * Harvey Harrison <harvey.harrison@xxxxxxxxx> wrote:
> >
> >> No differences except for the defintion of local_add_return on X86_64.
> >> The X86_32 version is just fine as it is protected with ifdef
> >> CONFIG_M386 so use it directly.
> >
> > thanks, i've applied your 4 patches to x86.git.
> >
> > btw., now that we have a single unified file, it might make sense to fix
> > these checkpatch complaints:
> >
> > total: 10 errors, 1 warnings, 257 lines checked
> >
> > in case you are interested ;-)
> >
>
> Please pull them pending revision, they're broken (macros don't expand
> inside strings...)
>

Do you have a stylistic preference between these two options:

Option 1) Rely on CPP string constant concatenation

// possibly include trailing space here to avoid remembering
// leading space on the register names
# define _ASM_INC "incl"

static inline void local_inc(local_t *l)
{
__asm__ __volatile__(
_ASM_INC " %0"
:"+m" (l->a.counter));
}

Option 2) Macro Expansion

# define _ASM_INC(r) \"incl\ ##r\"

static inline void local_inc(local_t *l)
{
__asm__ __volatile__(
_ASM_INC(%0);
:"+m" (l->a.counter));
}

Or some other suggestion.

Harvey



--
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/