Hi,
On 5/18/07, Pekka Enberg <[email protected]> wrote:
On 5/18/07, Nitin Gupta <[email protected]> wrote:
> +#define DX2(p,s1,s2) \
> + (((((size_t)((p)[2]) << (s2)) ^ (p)[1]) << (s1)) ^ (p)[0])
> +#define DX3(p,s1,s2,s3) ((DX2((p)+1,s2,s3) << (s1)) ^ (p)[0])
> +#define DMUL(a,b) ((size_t) ((a) * (b)))
> +#define DMS(v,s) ((size_t) (((v) & (D_MASK >> (s))) << (s)))
> +#define DM(v) DMS(v,0)
> +
> +#define D_BITS 14
> +#define DINDEX1(d,p) d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5)
> +#define DINDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f)
> +#define DENTRY(p,in) (p)
Please make these static inline functions.
What if compiler decides not to actully inline them? In that case
there will be significant perf. hit.
> +#define PTR(a) ((unsigned long) (a))
> +#define PTR_LT(a,b) (PTR(a) < PTR(b))
> +#define PTR_GE(a,b) (PTR(a) >= PTR(b))
> +#define PTR_DIFF(a,b) (PTR(a) - PTR(b))
> +#define pd(a,b) ((size_t) ((a)-(b)))
[snip]
> +#define COPY4(dst,src) *(uint32_t *)(dst) = *(uint32_t *)(src)
Please drop these.
Done. Please see newer version posted.
Thanks for comments.
Cheers,
Nitin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]