All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH bpf-next 0/2] tools, bpftool: Define name arrays only once
@ 2020-06-22 14:00 Tobias Klauser
  2020-06-22 14:00 ` [PATCH bpf-next 1/2] tools, bpftool: Define prog_type_name array " Tobias Klauser
  2020-06-22 14:00 ` [PATCH bpf-next 2/2] tools, bpftool: Define attach_type_name " Tobias Klauser
  0 siblings, 2 replies; 8+ messages in thread
From: Tobias Klauser @ 2020-06-22 14:00 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann; +Cc: Andrii Nakryiko, Quentin Monnet, bpf

Define the prog_type_name and attach_type_name only once by moving them
out of main.h. This slightly reduces the binary size of bpftool:

Before:

   text	   data	    bss	    dec	    hex	filename
 401032	  11936	1573160	1986128	 1e4e50	bpftool

After:

   text	   data	    bss	    dec	    hex	filename
 398256	  10880	1573160	1982296	 1e3f58	bpftool

Tobias Klauser (2):
  tools, bpftool: Define prog_type_name array only once
  tools, bpftool: Define attach_type_name array only once

 tools/bpf/bpftool/cgroup.c  | 36 +++++++++++++++++++
 tools/bpf/bpftool/feature.c |  4 +--
 tools/bpf/bpftool/link.c    |  4 +--
 tools/bpf/bpftool/main.h    | 69 ++-----------------------------------
 tools/bpf/bpftool/map.c     |  4 +--
 tools/bpf/bpftool/prog.c    | 34 ++++++++++++++++++
 6 files changed, 79 insertions(+), 72 deletions(-)

-- 
2.27.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH bpf-next 1/2] tools, bpftool: Define prog_type_name array only once
  2020-06-22 14:00 [PATCH bpf-next 0/2] tools, bpftool: Define name arrays only once Tobias Klauser
@ 2020-06-22 14:00 ` Tobias Klauser
  2020-06-22 14:26   ` Quentin Monnet
  2020-06-22 14:00 ` [PATCH bpf-next 2/2] tools, bpftool: Define attach_type_name " Tobias Klauser
  1 sibling, 1 reply; 8+ messages in thread
From: Tobias Klauser @ 2020-06-22 14:00 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann; +Cc: Andrii Nakryiko, Quentin Monnet, bpf

Follow the same approach as for map_type_name. This leads to a slight
decrease in the binary size of bpftool.

Before:

   text	   data	    bss	    dec	    hex	filename
 401032	  11936	1573160	1986128	 1e4e50	bpftool

After:

   text	   data	    bss	    dec	    hex	filename
 399024	  11168	1573160	1983352	 1e4378	bpftool

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
---
 tools/bpf/bpftool/feature.c |  4 ++--
 tools/bpf/bpftool/link.c    |  4 ++--
 tools/bpf/bpftool/main.h    | 33 ++-------------------------------
 tools/bpf/bpftool/map.c     |  4 ++--
 tools/bpf/bpftool/prog.c    | 34 ++++++++++++++++++++++++++++++++++
 5 files changed, 42 insertions(+), 37 deletions(-)

diff --git a/tools/bpf/bpftool/feature.c b/tools/bpf/bpftool/feature.c
index 768bf77df886..1cd75807673e 100644
--- a/tools/bpf/bpftool/feature.c
+++ b/tools/bpf/bpftool/feature.c
@@ -695,7 +695,7 @@ section_program_types(bool *supported_types, const char *define_prefix,
 			    "/*** eBPF program types ***/",
 			    define_prefix);
 
-	for (i = BPF_PROG_TYPE_UNSPEC + 1; i < ARRAY_SIZE(prog_type_name); i++)
+	for (i = BPF_PROG_TYPE_UNSPEC + 1; i < prog_type_name_size; i++)
 		probe_prog_type(i, supported_types, define_prefix, ifindex);
 
 	print_end_section();
@@ -741,7 +741,7 @@ section_helpers(bool *supported_types, const char *define_prefix, __u32 ifindex)
 		       "	%sBPF__PROG_TYPE_ ## prog_type ## __HELPER_ ## helper\n",
 		       define_prefix, define_prefix, define_prefix,
 		       define_prefix);
-	for (i = BPF_PROG_TYPE_UNSPEC + 1; i < ARRAY_SIZE(prog_type_name); i++)
+	for (i = BPF_PROG_TYPE_UNSPEC + 1; i < prog_type_name_size; i++)
 		probe_helpers_for_progtype(i, supported_types[i], define_prefix,
 					   ifindex);
 
diff --git a/tools/bpf/bpftool/link.c b/tools/bpf/bpftool/link.c
index fca57ee8fafe..f699060d3c3e 100644
--- a/tools/bpf/bpftool/link.c
+++ b/tools/bpf/bpftool/link.c
@@ -108,7 +108,7 @@ static int show_link_close_json(int fd, struct bpf_link_info *info)
 		if (err)
 			return err;
 
-		if (prog_info.type < ARRAY_SIZE(prog_type_name))
+		if (prog_info.type < prog_type_name_size)
 			jsonw_string_field(json_wtr, "prog_type",
 					   prog_type_name[prog_info.type]);
 		else
@@ -184,7 +184,7 @@ static int show_link_close_plain(int fd, struct bpf_link_info *info)
 		if (err)
 			return err;
 
-		if (prog_info.type < ARRAY_SIZE(prog_type_name))
+		if (prog_info.type < prog_type_name_size)
 			printf("\n\tprog_type %s  ",
 			       prog_type_name[prog_info.type]);
 		else
diff --git a/tools/bpf/bpftool/main.h b/tools/bpf/bpftool/main.h
index 5cdf0bc049bd..0eb9ed49665c 100644
--- a/tools/bpf/bpftool/main.h
+++ b/tools/bpf/bpftool/main.h
@@ -56,37 +56,8 @@
 #define HELP_SPEC_LINK							\
 	"LINK := { id LINK_ID | pinned FILE }"
 
-static const char * const prog_type_name[] = {
-	[BPF_PROG_TYPE_UNSPEC]			= "unspec",
-	[BPF_PROG_TYPE_SOCKET_FILTER]		= "socket_filter",
-	[BPF_PROG_TYPE_KPROBE]			= "kprobe",
-	[BPF_PROG_TYPE_SCHED_CLS]		= "sched_cls",
-	[BPF_PROG_TYPE_SCHED_ACT]		= "sched_act",
-	[BPF_PROG_TYPE_TRACEPOINT]		= "tracepoint",
-	[BPF_PROG_TYPE_XDP]			= "xdp",
-	[BPF_PROG_TYPE_PERF_EVENT]		= "perf_event",
-	[BPF_PROG_TYPE_CGROUP_SKB]		= "cgroup_skb",
-	[BPF_PROG_TYPE_CGROUP_SOCK]		= "cgroup_sock",
-	[BPF_PROG_TYPE_LWT_IN]			= "lwt_in",
-	[BPF_PROG_TYPE_LWT_OUT]			= "lwt_out",
-	[BPF_PROG_TYPE_LWT_XMIT]		= "lwt_xmit",
-	[BPF_PROG_TYPE_SOCK_OPS]		= "sock_ops",
-	[BPF_PROG_TYPE_SK_SKB]			= "sk_skb",
-	[BPF_PROG_TYPE_CGROUP_DEVICE]		= "cgroup_device",
-	[BPF_PROG_TYPE_SK_MSG]			= "sk_msg",
-	[BPF_PROG_TYPE_RAW_TRACEPOINT]		= "raw_tracepoint",
-	[BPF_PROG_TYPE_CGROUP_SOCK_ADDR]	= "cgroup_sock_addr",
-	[BPF_PROG_TYPE_LWT_SEG6LOCAL]		= "lwt_seg6local",
-	[BPF_PROG_TYPE_LIRC_MODE2]		= "lirc_mode2",
-	[BPF_PROG_TYPE_SK_REUSEPORT]		= "sk_reuseport",
-	[BPF_PROG_TYPE_FLOW_DISSECTOR]		= "flow_dissector",
-	[BPF_PROG_TYPE_CGROUP_SYSCTL]		= "cgroup_sysctl",
-	[BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE]	= "raw_tracepoint_writable",
-	[BPF_PROG_TYPE_CGROUP_SOCKOPT]		= "cgroup_sockopt",
-	[BPF_PROG_TYPE_TRACING]			= "tracing",
-	[BPF_PROG_TYPE_STRUCT_OPS]		= "struct_ops",
-	[BPF_PROG_TYPE_EXT]			= "ext",
-};
+extern const char * const prog_type_name[];
+extern const size_t prog_type_name_size;
 
 static const char * const attach_type_name[__MAX_BPF_ATTACH_TYPE] = {
 	[BPF_CGROUP_INET_INGRESS] = "ingress",
diff --git a/tools/bpf/bpftool/map.c b/tools/bpf/bpftool/map.c
index c5fac8068ba1..7e34e9dee865 100644
--- a/tools/bpf/bpftool/map.c
+++ b/tools/bpf/bpftool/map.c
@@ -628,7 +628,7 @@ static int show_map_close_json(int fd, struct bpf_map_info *info)
 		if (owner_prog_type) {
 			unsigned int prog_type = atoi(owner_prog_type);
 
-			if (prog_type < ARRAY_SIZE(prog_type_name))
+			if (prog_type < prog_type_name_size)
 				jsonw_string_field(json_wtr, "owner_prog_type",
 						   prog_type_name[prog_type]);
 			else
@@ -711,7 +711,7 @@ static int show_map_close_plain(int fd, struct bpf_map_info *info)
 		if (owner_prog_type) {
 			unsigned int prog_type = atoi(owner_prog_type);
 
-			if (prog_type < ARRAY_SIZE(prog_type_name))
+			if (prog_type < prog_type_name_size)
 				printf("owner_prog_type %s  ",
 				       prog_type_name[prog_type]);
 			else
diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c
index a5eff83496f2..348208912b9d 100644
--- a/tools/bpf/bpftool/prog.c
+++ b/tools/bpf/bpftool/prog.c
@@ -29,6 +29,40 @@
 #include "main.h"
 #include "xlated_dumper.h"
 
+const char * const prog_type_name[] = {
+	[BPF_PROG_TYPE_UNSPEC]			= "unspec",
+	[BPF_PROG_TYPE_SOCKET_FILTER]		= "socket_filter",
+	[BPF_PROG_TYPE_KPROBE]			= "kprobe",
+	[BPF_PROG_TYPE_SCHED_CLS]		= "sched_cls",
+	[BPF_PROG_TYPE_SCHED_ACT]		= "sched_act",
+	[BPF_PROG_TYPE_TRACEPOINT]		= "tracepoint",
+	[BPF_PROG_TYPE_XDP]			= "xdp",
+	[BPF_PROG_TYPE_PERF_EVENT]		= "perf_event",
+	[BPF_PROG_TYPE_CGROUP_SKB]		= "cgroup_skb",
+	[BPF_PROG_TYPE_CGROUP_SOCK]		= "cgroup_sock",
+	[BPF_PROG_TYPE_LWT_IN]			= "lwt_in",
+	[BPF_PROG_TYPE_LWT_OUT]			= "lwt_out",
+	[BPF_PROG_TYPE_LWT_XMIT]		= "lwt_xmit",
+	[BPF_PROG_TYPE_SOCK_OPS]		= "sock_ops",
+	[BPF_PROG_TYPE_SK_SKB]			= "sk_skb",
+	[BPF_PROG_TYPE_CGROUP_DEVICE]		= "cgroup_device",
+	[BPF_PROG_TYPE_SK_MSG]			= "sk_msg",
+	[BPF_PROG_TYPE_RAW_TRACEPOINT]		= "raw_tracepoint",
+	[BPF_PROG_TYPE_CGROUP_SOCK_ADDR]	= "cgroup_sock_addr",
+	[BPF_PROG_TYPE_LWT_SEG6LOCAL]		= "lwt_seg6local",
+	[BPF_PROG_TYPE_LIRC_MODE2]		= "lirc_mode2",
+	[BPF_PROG_TYPE_SK_REUSEPORT]		= "sk_reuseport",
+	[BPF_PROG_TYPE_FLOW_DISSECTOR]		= "flow_dissector",
+	[BPF_PROG_TYPE_CGROUP_SYSCTL]		= "cgroup_sysctl",
+	[BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE]	= "raw_tracepoint_writable",
+	[BPF_PROG_TYPE_CGROUP_SOCKOPT]		= "cgroup_sockopt",
+	[BPF_PROG_TYPE_TRACING]			= "tracing",
+	[BPF_PROG_TYPE_STRUCT_OPS]		= "struct_ops",
+	[BPF_PROG_TYPE_EXT]			= "ext",
+};
+
+const size_t prog_type_name_size = ARRAY_SIZE(prog_type_name);
+
 enum dump_mode {
 	DUMP_JITED,
 	DUMP_XLATED,
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH bpf-next 2/2] tools, bpftool: Define attach_type_name array only once
  2020-06-22 14:00 [PATCH bpf-next 0/2] tools, bpftool: Define name arrays only once Tobias Klauser
  2020-06-22 14:00 ` [PATCH bpf-next 1/2] tools, bpftool: Define prog_type_name array " Tobias Klauser
@ 2020-06-22 14:00 ` Tobias Klauser
  2020-06-23  5:58   ` Andrii Nakryiko
  1 sibling, 1 reply; 8+ messages in thread
From: Tobias Klauser @ 2020-06-22 14:00 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann; +Cc: Andrii Nakryiko, Quentin Monnet, bpf

Follow the same approach as for map_type_name and prog_type_name. This
leads to a slight decrease in the binary size of bpftool.

Before:

   text	   data	    bss	    dec	    hex	filename
 399024	  11168	1573160	1983352	 1e4378	bpftool

After:

   text	   data	    bss	    dec	    hex	filename
 398256	  10880	1573160	1982296	 1e3f58	bpftool

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
---
 tools/bpf/bpftool/cgroup.c | 36 ++++++++++++++++++++++++++++++++++++
 tools/bpf/bpftool/main.h   | 36 +-----------------------------------
 2 files changed, 37 insertions(+), 35 deletions(-)

diff --git a/tools/bpf/bpftool/cgroup.c b/tools/bpf/bpftool/cgroup.c
index d901cc1b904a..542050a4f071 100644
--- a/tools/bpf/bpftool/cgroup.c
+++ b/tools/bpf/bpftool/cgroup.c
@@ -30,6 +30,42 @@
 	"                        sendmsg6 | recvmsg4 | recvmsg6 |\n"           \
 	"                        sysctl | getsockopt | setsockopt }"
 
+const char * const attach_type_name[__MAX_BPF_ATTACH_TYPE] = {
+	[BPF_CGROUP_INET_INGRESS] = "ingress",
+	[BPF_CGROUP_INET_EGRESS] = "egress",
+	[BPF_CGROUP_INET_SOCK_CREATE] = "sock_create",
+	[BPF_CGROUP_SOCK_OPS] = "sock_ops",
+	[BPF_CGROUP_DEVICE] = "device",
+	[BPF_CGROUP_INET4_BIND] = "bind4",
+	[BPF_CGROUP_INET6_BIND] = "bind6",
+	[BPF_CGROUP_INET4_CONNECT] = "connect4",
+	[BPF_CGROUP_INET6_CONNECT] = "connect6",
+	[BPF_CGROUP_INET4_POST_BIND] = "post_bind4",
+	[BPF_CGROUP_INET6_POST_BIND] = "post_bind6",
+	[BPF_CGROUP_INET4_GETPEERNAME] = "getpeername4",
+	[BPF_CGROUP_INET6_GETPEERNAME] = "getpeername6",
+	[BPF_CGROUP_INET4_GETSOCKNAME] = "getsockname4",
+	[BPF_CGROUP_INET6_GETSOCKNAME] = "getsockname6",
+	[BPF_CGROUP_UDP4_SENDMSG] = "sendmsg4",
+	[BPF_CGROUP_UDP6_SENDMSG] = "sendmsg6",
+	[BPF_CGROUP_SYSCTL] = "sysctl",
+	[BPF_CGROUP_UDP4_RECVMSG] = "recvmsg4",
+	[BPF_CGROUP_UDP6_RECVMSG] = "recvmsg6",
+	[BPF_CGROUP_GETSOCKOPT] = "getsockopt",
+	[BPF_CGROUP_SETSOCKOPT] = "setsockopt",
+
+	[BPF_SK_SKB_STREAM_PARSER] = "sk_skb_stream_parser",
+	[BPF_SK_SKB_STREAM_VERDICT] = "sk_skb_stream_verdict",
+	[BPF_SK_MSG_VERDICT] = "sk_msg_verdict",
+	[BPF_LIRC_MODE2] = "lirc_mode2",
+	[BPF_FLOW_DISSECTOR] = "flow_dissector",
+	[BPF_TRACE_RAW_TP] = "raw_tp",
+	[BPF_TRACE_FENTRY] = "fentry",
+	[BPF_TRACE_FEXIT] = "fexit",
+	[BPF_MODIFY_RETURN] = "mod_ret",
+	[BPF_LSM_MAC] = "lsm_mac",
+};
+
 static unsigned int query_flags;
 
 static enum bpf_attach_type parse_attach_type(const char *str)
diff --git a/tools/bpf/bpftool/main.h b/tools/bpf/bpftool/main.h
index 0eb9ed49665c..d2e5fcd7ca2d 100644
--- a/tools/bpf/bpftool/main.h
+++ b/tools/bpf/bpftool/main.h
@@ -59,41 +59,7 @@
 extern const char * const prog_type_name[];
 extern const size_t prog_type_name_size;
 
-static const char * const attach_type_name[__MAX_BPF_ATTACH_TYPE] = {
-	[BPF_CGROUP_INET_INGRESS] = "ingress",
-	[BPF_CGROUP_INET_EGRESS] = "egress",
-	[BPF_CGROUP_INET_SOCK_CREATE] = "sock_create",
-	[BPF_CGROUP_SOCK_OPS] = "sock_ops",
-	[BPF_CGROUP_DEVICE] = "device",
-	[BPF_CGROUP_INET4_BIND] = "bind4",
-	[BPF_CGROUP_INET6_BIND] = "bind6",
-	[BPF_CGROUP_INET4_CONNECT] = "connect4",
-	[BPF_CGROUP_INET6_CONNECT] = "connect6",
-	[BPF_CGROUP_INET4_POST_BIND] = "post_bind4",
-	[BPF_CGROUP_INET6_POST_BIND] = "post_bind6",
-	[BPF_CGROUP_INET4_GETPEERNAME] = "getpeername4",
-	[BPF_CGROUP_INET6_GETPEERNAME] = "getpeername6",
-	[BPF_CGROUP_INET4_GETSOCKNAME] = "getsockname4",
-	[BPF_CGROUP_INET6_GETSOCKNAME] = "getsockname6",
-	[BPF_CGROUP_UDP4_SENDMSG] = "sendmsg4",
-	[BPF_CGROUP_UDP6_SENDMSG] = "sendmsg6",
-	[BPF_CGROUP_SYSCTL] = "sysctl",
-	[BPF_CGROUP_UDP4_RECVMSG] = "recvmsg4",
-	[BPF_CGROUP_UDP6_RECVMSG] = "recvmsg6",
-	[BPF_CGROUP_GETSOCKOPT] = "getsockopt",
-	[BPF_CGROUP_SETSOCKOPT] = "setsockopt",
-
-	[BPF_SK_SKB_STREAM_PARSER] = "sk_skb_stream_parser",
-	[BPF_SK_SKB_STREAM_VERDICT] = "sk_skb_stream_verdict",
-	[BPF_SK_MSG_VERDICT] = "sk_msg_verdict",
-	[BPF_LIRC_MODE2] = "lirc_mode2",
-	[BPF_FLOW_DISSECTOR] = "flow_dissector",
-	[BPF_TRACE_RAW_TP] = "raw_tp",
-	[BPF_TRACE_FENTRY] = "fentry",
-	[BPF_TRACE_FEXIT] = "fexit",
-	[BPF_MODIFY_RETURN] = "mod_ret",
-	[BPF_LSM_MAC] = "lsm_mac",
-};
+extern const char * const attach_type_name[__MAX_BPF_ATTACH_TYPE];
 
 extern const char * const map_type_name[];
 extern const size_t map_type_name_size;
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH bpf-next 1/2] tools, bpftool: Define prog_type_name array only once
  2020-06-22 14:00 ` [PATCH bpf-next 1/2] tools, bpftool: Define prog_type_name array " Tobias Klauser
@ 2020-06-22 14:26   ` Quentin Monnet
  2020-06-22 15:05     ` Tobias Klauser
  0 siblings, 1 reply; 8+ messages in thread
From: Quentin Monnet @ 2020-06-22 14:26 UTC (permalink / raw)
  To: Tobias Klauser, Alexei Starovoitov, Daniel Borkmann; +Cc: Andrii Nakryiko, bpf

2020-06-22 16:00 UTC+0200 ~ Tobias Klauser <tklauser@distanz.ch>
> Follow the same approach as for map_type_name. This leads to a slight

map_type_name looks unchanged in this series, could you please check
your commit log?

> decrease in the binary size of bpftool.
> 
> Before:
> 
>    text	   data	    bss	    dec	    hex	filename
>  401032	  11936	1573160	1986128	 1e4e50	bpftool
> 
> After:
> 
>    text	   data	    bss	    dec	    hex	filename
>  399024	  11168	1573160	1983352	 1e4378	bpftool
> 
> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>

Reviewed-by: Quentin Monnet <quentin@isovalent.com>

Code looks good otherwise, thanks!
Quentin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH bpf-next 1/2] tools, bpftool: Define prog_type_name array only once
  2020-06-22 14:26   ` Quentin Monnet
@ 2020-06-22 15:05     ` Tobias Klauser
  2020-06-22 15:17       ` Quentin Monnet
  0 siblings, 1 reply; 8+ messages in thread
From: Tobias Klauser @ 2020-06-22 15:05 UTC (permalink / raw)
  To: Quentin Monnet; +Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko, bpf

On 2020-06-22 at 16:26:17 +0200, Quentin Monnet <quentin@isovalent.com> wrote:
> 2020-06-22 16:00 UTC+0200 ~ Tobias Klauser <tklauser@distanz.ch>
> > Follow the same approach as for map_type_name. This leads to a slight
> 
> map_type_name looks unchanged in this series, could you please check
> your commit log?

Yes this patch intentionally shouldn't change map_type_name. The idea
was to say "do the same thing for prog_type_name name as is already done
for map_type_name". I can rephrase that to become more clear if you
want.

> > decrease in the binary size of bpftool.
> > 
> > Before:
> > 
> >    text	   data	    bss	    dec	    hex	filename
> >  401032	  11936	1573160	1986128	 1e4e50	bpftool
> > 
> > After:
> > 
> >    text	   data	    bss	    dec	    hex	filename
> >  399024	  11168	1573160	1983352	 1e4378	bpftool
> > 
> > Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
> 
> Reviewed-by: Quentin Monnet <quentin@isovalent.com>

Thank you.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH bpf-next 1/2] tools, bpftool: Define prog_type_name array only once
  2020-06-22 15:05     ` Tobias Klauser
@ 2020-06-22 15:17       ` Quentin Monnet
  2020-06-23  9:58         ` Tobias Klauser
  0 siblings, 1 reply; 8+ messages in thread
From: Quentin Monnet @ 2020-06-22 15:17 UTC (permalink / raw)
  To: Tobias Klauser; +Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko, bpf

2020-06-22 17:05 UTC+0200 ~ Tobias Klauser <tklauser@distanz.ch>
> On 2020-06-22 at 16:26:17 +0200, Quentin Monnet <quentin@isovalent.com> wrote:
>> 2020-06-22 16:00 UTC+0200 ~ Tobias Klauser <tklauser@distanz.ch>
>>> Follow the same approach as for map_type_name. This leads to a slight
>>
>> map_type_name looks unchanged in this series, could you please check
>> your commit log?
> 
> Yes this patch intentionally shouldn't change map_type_name. The idea
> was to say "do the same thing for prog_type_name name as is already done
> for map_type_name". I can rephrase that to become more clear if you
> want.

Ok sorry, I thought you meant map_type_name had been moved to reduce the
size as well. I think I got confused by "Follow the same approach",
since map_type_name has always been in map.c, but it's both
prog_type_name and attach_type_name that were moved to main.h from their
original files some time ago (so not much to "follow" from map_type_name).

Anyway, minor confusion on my side, no need to respin just for that.
Thanks for the clarification.

Quentin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH bpf-next 2/2] tools, bpftool: Define attach_type_name array only once
  2020-06-22 14:00 ` [PATCH bpf-next 2/2] tools, bpftool: Define attach_type_name " Tobias Klauser
@ 2020-06-23  5:58   ` Andrii Nakryiko
  0 siblings, 0 replies; 8+ messages in thread
From: Andrii Nakryiko @ 2020-06-23  5:58 UTC (permalink / raw)
  To: Tobias Klauser
  Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Quentin Monnet, bpf

On Mon, Jun 22, 2020 at 7:00 AM Tobias Klauser <tklauser@distanz.ch> wrote:
>
> Follow the same approach as for map_type_name and prog_type_name. This
> leads to a slight decrease in the binary size of bpftool.
>
> Before:
>
>    text    data     bss     dec     hex filename
>  399024   11168 1573160 1983352  1e4378 bpftool
>
> After:
>
>    text    data     bss     dec     hex filename
>  398256   10880 1573160 1982296  1e3f58 bpftool
>
> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
> ---
>  tools/bpf/bpftool/cgroup.c | 36 ++++++++++++++++++++++++++++++++++++
>  tools/bpf/bpftool/main.h   | 36 +-----------------------------------
>  2 files changed, 37 insertions(+), 35 deletions(-)
>
> diff --git a/tools/bpf/bpftool/cgroup.c b/tools/bpf/bpftool/cgroup.c
> index d901cc1b904a..542050a4f071 100644
> --- a/tools/bpf/bpftool/cgroup.c
> +++ b/tools/bpf/bpftool/cgroup.c
> @@ -30,6 +30,42 @@
>         "                        sendmsg6 | recvmsg4 | recvmsg6 |\n"           \
>         "                        sysctl | getsockopt | setsockopt }"
>
> +const char * const attach_type_name[__MAX_BPF_ATTACH_TYPE] = {

Let's move it into common.c instead. It's not really cgroup-specific.

[...]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH bpf-next 1/2] tools, bpftool: Define prog_type_name array only once
  2020-06-22 15:17       ` Quentin Monnet
@ 2020-06-23  9:58         ` Tobias Klauser
  0 siblings, 0 replies; 8+ messages in thread
From: Tobias Klauser @ 2020-06-23  9:58 UTC (permalink / raw)
  To: Quentin Monnet; +Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko, bpf

On 2020-06-22 at 17:17:04 +0200, Quentin Monnet <quentin@isovalent.com> wrote:
> 2020-06-22 17:05 UTC+0200 ~ Tobias Klauser <tklauser@distanz.ch>
> > On 2020-06-22 at 16:26:17 +0200, Quentin Monnet <quentin@isovalent.com> wrote:
> >> 2020-06-22 16:00 UTC+0200 ~ Tobias Klauser <tklauser@distanz.ch>
> >>> Follow the same approach as for map_type_name. This leads to a slight
> >>
> >> map_type_name looks unchanged in this series, could you please check
> >> your commit log?
> > 
> > Yes this patch intentionally shouldn't change map_type_name. The idea
> > was to say "do the same thing for prog_type_name name as is already done
> > for map_type_name". I can rephrase that to become more clear if you
> > want.
> 
> Ok sorry, I thought you meant map_type_name had been moved to reduce the
> size as well. I think I got confused by "Follow the same approach",
> since map_type_name has always been in map.c, but it's both
> prog_type_name and attach_type_name that were moved to main.h from their
> original files some time ago (so not much to "follow" from map_type_name).
> 
> Anyway, minor confusion on my side, no need to respin just for that.
> Thanks for the clarification.

Will send a v2 to address Andrii's comment on patch 2/2, so I'll
rephrase the commit message on this patch to be less confusing.

Tobias

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-06-23  9:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-22 14:00 [PATCH bpf-next 0/2] tools, bpftool: Define name arrays only once Tobias Klauser
2020-06-22 14:00 ` [PATCH bpf-next 1/2] tools, bpftool: Define prog_type_name array " Tobias Klauser
2020-06-22 14:26   ` Quentin Monnet
2020-06-22 15:05     ` Tobias Klauser
2020-06-22 15:17       ` Quentin Monnet
2020-06-23  9:58         ` Tobias Klauser
2020-06-22 14:00 ` [PATCH bpf-next 2/2] tools, bpftool: Define attach_type_name " Tobias Klauser
2020-06-23  5:58   ` Andrii Nakryiko

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.