Re: [PATCH -rt 9/9] seqlocks: use PICK_FUNCTION

From: Daniel Walker
Date: Wed Aug 08 2007 - 15:46:20 EST


On Mon, 2007-08-06 at 09:21 +0200, Ingo Molnar wrote:
> * Daniel Walker <dwalker@xxxxxxxxxx> wrote:
>
> > Replace the old PICK_OP style macros with PICK_FUNCTION. Although,
> > seqlocks has some alien code, which I also replaced as can be seen
> > from the line count below.
>
> ok, i very much like the cleanup effects here, could you resend your
> latest version of this (with Peter's suggested cleanup) against -rc2-rt2
> so that i can apply it?

Ok, sent them privately. Updated to 2.6.23-rc2-rt2 w/ Peter's
suggestion. You'll get two sets the first had some unrefreshed hunks in
the 3/3 patch .

There is one thing I was wondering about in seqlock.h . There was a
class of these macro's like below,

#define PICK_SEQOP_CONST_RET(op, lock) \
({ \
unsigned long __ret; \
\
if (TYPE_EQUAL((lock), raw_seqlock_t)) \
__ret = op##_raw((const raw_seqlock_t *)(lock));\
else if (TYPE_EQUAL((lock), seqlock_t)) \
__ret = op((seqlock_t *)(lock)); \
else __ret = __bad_seqlock_type(); \
\
__ret; \
})

Where the variable is specifically casted to "const raw_seqlock_t *".. I
ended up dropping these all together, and I'm wonder what the adverse
effects of that are .. The casting seems superfluous to me since you
know already that the type are compatible at that point. Any thoughts?

Daniel

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