Subject: Re: [PATCH 4/7] cxgb4: Add packet queues and packet DMA code

From: Stephen Hemminger <[email-masked]>
Date: Fri, 26 Feb 2010 15:57:56 -0800

On Fri, 26 Feb 2010 15:35:36 -0800
Dimitris Michailidis <[email-masked]> wrote:

> +
> +/**
> + *	need_skb_unmap - does the platform need unmapping of sk_buffs?
> + *
> + *	Returns true if the platfrom needs sk_buff unmapping.  The compiler
> + *	optimizes away unecessary code if this returns true.
> + */
> +static inline int need_skb_unmap(void)
> +{
> +	/*
> +	 * This structure is used to tell if the platfrom needs buffer
> +	 * unmapping by checking if DECLARE_PCI_UNMAP_ADDR defines anything.
> +	 */
> +	struct dummy {
> +		DECLARE_PCI_UNMAP_ADDR(addr);
> +	};
> +
> +	return sizeof(struct dummy) != 0;
> +}
> +

I would prefer one code path and let the compiler decide if unmap
should be nop; rather than this kind of trick code.

--