Re: [RFC] LZO1X de/compression support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux