1
0
Fork 0
alistair23-linux/net/decnet
Wei Wang 0da4af00b2 ipv6: only update __use and lastusetime once per jiffy at most
In order to not dirty the cacheline too often, we try to only update
dst->__use and dst->lastusetime at most once per jiffy.
As dst->lastusetime is only used by ipv6 garbage collector, it should
be good enough time resolution.
And __use is only used in ipv6_route_seq_show() to show how many times a
dst has been used. And as __use is not atomic_t right now, it does not
show the precise number of usage times anyway. So we think it should be
OK to only update it at most once per jiffy.

According to my latest syn flood test on a machine with intel Xeon 6th
gen processor and 2 10G mlx nics bonded together, each with 8 rx queues
on 2 NUMA nodes:
With this patch, the packet process rate increases from ~3.49Mpps to
~3.75Mpps with a 7% increase rate.

Note: dst_use() is being renamed to dst_hold_and_use() to better specify
the purpose of the function.

Signed-off-by: Wei Wang <weiwan@google.com>
Acked-by: Eric Dumazet <edumazet@googl.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-10-16 21:08:30 +01:00
..
netfilter netfilter: nf_hook_ops structs can be const 2017-07-31 19:10:44 +02:00
Kconfig net/decnet: remove depends on CONFIG_EXPERIMENTAL 2013-01-11 11:39:34 -08:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
README Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
TODO Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
af_decnet.c tcp: add TCPMemoryPressuresChrono counter 2017-06-08 11:26:19 -04:00
dn_dev.c rtnetlink: make rtnl_register accept a flags parameter 2017-08-09 16:57:38 -07:00
dn_fib.c rtnetlink: make rtnl_register accept a flags parameter 2017-08-09 16:57:38 -07:00
dn_neigh.c neigh: increase queue_len_bytes to match wmem_default 2017-08-29 16:10:50 -07:00
dn_nsp_in.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
dn_nsp_out.c networking: add and use skb_put_u8() 2017-06-16 11:48:40 -04:00
dn_route.c ipv6: only update __use and lastusetime once per jiffy at most 2017-10-16 21:08:30 +01:00
dn_rules.c net: ipv6: use common fib_default_rule_pref 2015-09-09 14:19:50 -07:00
dn_table.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
dn_timer.c decnet: Use time_after_eq 2014-08-22 12:23:11 -07:00
sysctl_net_decnet.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00

README

                       Linux DECnet Project
                      ======================

The documentation for this kernel subsystem is available in the
Documentation/networking subdirectory of this distribution and also
on line at http://www.chygwyn.com/DECnet/

Steve Whitehouse <SteveW@ACM.org>