+++ /dev/null
-From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
-Subject: LTTng instrumentation - ipv6
-
-Original patch header:
- LTTng instrumentation - ipv6
-
- Instrument addr_add and del of network interfaces. Lets a tracer know the
- interface address changes.
-
- Those tracepoints are used by LTTng.
-
- About the performance impact of tracepoints (which is comparable to markers),
- even without immediate values optimizations, tests done by Hideo Aoki on ia64
- show no regression. His test case was using hackbench on a kernel where
- scheduler instrumentation (about 5 events in code scheduler code) was added.
- See the "Tracepoints" patch header for performance result detail.
-
- Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
- CC: Pekka Savola <pekkas@netcore.fi>
- CC: netdev@vger.kernel.org
- CC: David S. Miller <davem@davemloft.net>
- CC: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
- CC: Masami Hiramatsu <mhiramat@redhat.com>
- CC: 'Peter Zijlstra' <peterz@infradead.org>
- CC: "Frank Ch. Eigler" <fche@redhat.com>
- CC: 'Ingo Molnar' <mingo@elte.hu>
- CC: 'Hideo AOKI' <haoki@redhat.com>
- CC: Takashi Nishiie <t-nishiie@np.css.fujitsu.com>
- CC: 'Steven Rostedt' <rostedt@goodmis.org>
- CC: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
-
-Acked-by: Jan Blunck <jblunck@suse.de>
----
----
- include/trace/ipv6.h | 14 ++++++++++++++
- net/ipv6/addrconf.c | 4 ++++
- 2 files changed, 18 insertions(+)
-
---- /dev/null
-+++ b/include/trace/ipv6.h
-@@ -0,0 +1,14 @@
-+#ifndef _TRACE_IPV6_H
-+#define _TRACE_IPV6_H
-+
-+#include <net/if_inet6.h>
-+#include <linux/tracepoint.h>
-+
-+DEFINE_TRACE(ipv6_addr_add,
-+ TPPROTO(struct inet6_ifaddr *ifa),
-+ TPARGS(ifa));
-+DEFINE_TRACE(ipv6_addr_del,
-+ TPPROTO(struct inet6_ifaddr *ifa),
-+ TPARGS(ifa));
-+
-+#endif
---- a/net/ipv6/addrconf.c
-+++ b/net/ipv6/addrconf.c
-@@ -85,6 +85,7 @@
-
- #include <linux/proc_fs.h>
- #include <linux/seq_file.h>
-+#include <trace/ipv6.h>
-
- /* Set to 3 to get tracing... */
- #define ACONF_DEBUG 2
-@@ -653,6 +654,8 @@ ipv6_add_addr(struct inet6_dev *idev, co
- /* For caller */
- in6_ifa_hold(ifa);
-
-+ trace_ipv6_addr_add(ifa);
-+
- /* Add to big hash table */
- hash = ipv6_addr_hash(addr);
-
-@@ -2167,6 +2170,7 @@ static int inet6_addr_del(struct net *ne
- in6_ifa_hold(ifp);
- read_unlock_bh(&idev->lock);
-
-+ trace_ipv6_addr_del(ifp);
- ipv6_del_addr(ifp);
-
- /* If the last address is deleted administratively,