Re: [RFD][PATCH] typhoon and core sample for folding away VLANstuff

From: Stephen Hemminger
Date: Wed Apr 12 2006 - 16:25:14 EST


On Wed, 12 Apr 2006 13:10:06 -0700
Ben Greear <greearb@xxxxxxxxxxxxxxx> wrote:

> What is the reasoning for this change? Is the compiler
> able to optomize the right-hand-side to a constant with your
> change in place?
>
> > - if (veth->h_vlan_proto != __constant_htons(ETH_P_8021Q)) {
> > + if (veth->h_vlan_proto != htons(ETH_P_8021Q)) {
> > return -EINVAL;
> > }

Read the source, the macro handles it.

For i386:
htons maps to __cpu_to_be16
cpu_to_be16 maps to swab16 which is defined in swab.h

# define __swab16(x) \
(__builtin_constant_p((__u16)(x)) ? \
___swab16((x)) : \
__fswab16((x)))


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