[Bridge] [PATCH] bridge: per-cpu packet statistics
Eric Dumazet
eric.dumazet at gmail.com
Mon Mar 1 23:51:42 PST 2010
Le lundi 01 mars 2010 à 16:16 -0800, Stephen Hemminger a écrit :
> --- a/net/bridge/br_if.c 2010-03-01 08:22:23.476657998 -0800
> +++ b/net/bridge/br_if.c 2010-03-01 15:30:47.733227819 -0800
> @@ -185,6 +185,12 @@ static struct net_device *new_bridge_dev
> br = netdev_priv(dev);
> br->dev = dev;
>
> + br->stats = alloc_percpu(sizeof(struct br_cpu_netstats));
> + if (!br->stats) {
> + free_netdev(dev);
> + return NULL;
> + }
> +
Strange... this should be :
nr->stats = alloc_percpu(struct br_cpu_netstats);
Or even better, ask percpu allocator an aligned chunk
(2 or 4 longs) instead of (1 long)
nr->stats = __alloc_percpu(sizeof(struct br_cpu_netstats),
4 * sizeof(long));
More information about the Bridge
mailing list