All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: Lucian Adrian Grijincu <lgrijincu@ixiacom.com>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH] net: shrink struct net_device by #ifdef-ing protocol-specific members
Date: Mon, 27 Jul 2009 16:28:16 +0200	[thread overview]
Message-ID: <4A6DB980.8010503@gmail.com> (raw)
In-Reply-To: <4A6DADCF.8010801@ixiacom.com>

Lucian Adrian Grijincu a écrit :
> Some members of net_device are used only by some protocols.
> 
> If those protocols are not compiled (as modules or linked in) they
> should not take up space in the structure.
> 
> These members are also used in inline functions defined in headers not
> protected by the protocol-specific CONFIG_ guards. Adding #ifdef CONFIG_*
> guards header wide is against the current style and more invasive than
> guarding only the definitions.
> 
> Signed-off-by: Lucian Adrian Grijincu <lgrijincu@ixiacom.com>
> ---
>  include/linux/inetdevice.h |    2 ++
>  include/linux/netdevice.h  |   14 ++++++++++++++
>  include/net/ax25.h         |    2 ++
>  net/core/dev.c             |    6 ++++++
>  4 files changed, 24 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
> index acef2a7..88132ff 100644
> --- a/include/linux/inetdevice.h
> +++ b/include/linux/inetdevice.h
> @@ -166,6 +166,7 @@ static __inline__ int bad_mask(__be32 mask, __be32 addr)
> 
>  #define endfor_ifa(in_dev) }
> 
> +#ifdef CONFIG_INET
>  static inline struct in_device *__in_dev_get_rcu(const struct
> net_device *dev)
>  {
>  	struct in_device *in_dev = dev->ip_ptr;
> @@ -192,6 +193,7 @@ __in_dev_get_rtnl(const struct net_device *dev)
>  {
>  	return (struct in_device*)dev->ip_ptr;
>  }
> +#endif /* CONFIG_INET */
> 
>  extern void in_dev_finish_destroy(struct in_device *idev);
> 
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index 5a96a1a..d175bb9 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -762,14 +762,28 @@ struct net_device
>  #ifdef CONFIG_NET_DSA
>  	void			*dsa_ptr;	/* dsa specific data */
>  #endif
> +#ifdef CONFIG_ATALK
>  	void 			*atalk_ptr;	/* AppleTalk link 	*/
> +#endif
> +#ifdef CONFIG_INET
>  	void			*ip_ptr;	/* IPv4 specific data	*/
> +#endif
> +#ifdef CONFIG_DECNET
>  	void                    *dn_ptr;        /* DECnet specific data */
> +#endif
> +#ifdef CONFIG_IPV6

I dont know if your patch will please that much.

For example, IPV6 can be a module, so you cannot only test 
ifdef CONFIG_IPV6

#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)



      reply	other threads:[~2009-07-27 14:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-27 13:38 [PATCH] net: shrink struct net_device by #ifdef-ing protocol-specific members Lucian Adrian Grijincu
2009-07-27 14:28 ` Eric Dumazet [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A6DB980.8010503@gmail.com \
    --to=eric.dumazet@gmail.com \
    --cc=lgrijincu@ixiacom.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.