2007-08-06 07:22:17

by Ingo Molnar

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


* Daniel Walker <[email protected]> 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?

Ingo


2007-08-08 19:46:16

by Daniel Walker

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

On Mon, 2007-08-06 at 09:21 +0200, Ingo Molnar wrote:
> * Daniel Walker <[email protected]> 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