[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160708110717.GA13885@pox.localdomain>
Date: Fri, 8 Jul 2016 13:07:17 +0200
From: Thomas Graf <tgraf@...g.ch>
To: Jiri Kosina <jikos@...nel.org>
Cc: Eric Dumazet <eric.dumazet@...il.com>,
Jamal Hadi Salim <jhs@...atatu.com>,
Phil Sutter <phil@....cc>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH v2] net: sched: convert qdisc linked list to hashtable
On 07/07/16 at 10:36pm, Jiri Kosina wrote:
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index f45929c..630838e 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -52,6 +52,7 @@
> #include <uapi/linux/netdevice.h>
> #include <uapi/linux/if_bonding.h>
> #include <uapi/linux/pkt_cls.h>
> +#include <linux/hashtable.h>
>
> struct netpoll_info;
> struct device;
> @@ -1778,6 +1779,7 @@ struct net_device {
> unsigned int num_tx_queues;
> unsigned int real_num_tx_queues;
> struct Qdisc *qdisc;
> + DECLARE_HASHTABLE (qdisc_hash, 16);
This blows up net_device to an insane size: 64K * sizeof(struct
hlist_head). Can we allocate this on demand for net_devices where
it is actually needed? The majority of virtual devices won't need
this. Doesn't have to be rhashtable, can still be fixed size but
at least allocate it.
Powered by blists - more mailing lists