bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Compile build issues with samples/bpf/ again
@ 2019-10-30 10:43 Jesper Dangaard Brouer
  2019-10-30 10:53 ` Björn Töpel
  2019-10-30 19:09 ` David Miller
  0 siblings, 2 replies; 7+ messages in thread
From: Jesper Dangaard Brouer @ 2019-10-30 10:43 UTC (permalink / raw)
  To: Daniel Borkmann, Alexei Starovoitov, BPF-dev-list
  Cc: brouer, netdev, Eric Sage, Andrii Nakryiko,
	Arnaldo Carvalho de Melo, Björn Töpel, Jiri Olsa,
	Toke Høiland-Jørgensen, Ivan Khoronzhuk,
	Ilias Apalodimas

Hi Maintainers,

It is annoy to experience that simply building kernel tree samples/bpf/
is broken as often as it is.  Right now, build is broken in both DaveM
net.git and bpf.git.  ACME have some build fixes queued from Björn
Töpel. But even with those fixes, build (for samples/bpf/task_fd_query_user.c)
are still broken, as reported by Eric Sage (15 Oct), which I have a fix for.

Could maintainers add building samples/bpf/ to their build test scripts?
(make headers_install && make M=samples/bpf)

Also I discovered, the command to build have also recently changed:
- Before : make samples/bpf/   or  simply make in subdir samples/bpf/
- new cmd: make M=samples/bpf  and in subdir is broken

Anyone knows what commit introduced this change?
(I need it for a fixes tag, when updating README.rst doc)

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer


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

* Re: Compile build issues with samples/bpf/ again
  2019-10-30 10:43 Compile build issues with samples/bpf/ again Jesper Dangaard Brouer
@ 2019-10-30 10:53 ` Björn Töpel
  2019-10-30 11:05   ` Jesper Dangaard Brouer
  2019-10-30 19:09 ` David Miller
  1 sibling, 1 reply; 7+ messages in thread
From: Björn Töpel @ 2019-10-30 10:53 UTC (permalink / raw)
  To: Jesper Dangaard Brouer
  Cc: Daniel Borkmann, Alexei Starovoitov, BPF-dev-list, netdev,
	Eric Sage, Andrii Nakryiko, Arnaldo Carvalho de Melo,
	Björn Töpel, Jiri Olsa,
	Toke Høiland-Jørgensen, Ivan Khoronzhuk,
	Ilias Apalodimas

On Wed, 30 Oct 2019 at 11:43, Jesper Dangaard Brouer <brouer@redhat.com> wrote:
>
> Hi Maintainers,
>
> It is annoy to experience that simply building kernel tree samples/bpf/
> is broken as often as it is.  Right now, build is broken in both DaveM
> net.git and bpf.git.  ACME have some build fixes queued from Björn
> Töpel. But even with those fixes, build (for samples/bpf/task_fd_query_user.c)
> are still broken, as reported by Eric Sage (15 Oct), which I have a fix for.
>

Hmm, something else than commit e55190f26f92 ("samples/bpf: Fix build
for task_fd_query_user.c")?

> Could maintainers add building samples/bpf/ to their build test scripts?
> (make headers_install && make M=samples/bpf)
>
> Also I discovered, the command to build have also recently changed:
> - Before : make samples/bpf/   or  simply make in subdir samples/bpf/
> - new cmd: make M=samples/bpf  and in subdir is broken
>
> Anyone knows what commit introduced this change?
> (I need it for a fixes tag, when updating README.rst doc)
>
> --
> Best regards,
>   Jesper Dangaard Brouer
>   MSc.CS, Principal Kernel Engineer at Red Hat
>   LinkedIn: http://www.linkedin.com/in/brouer
>

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

* Re: Compile build issues with samples/bpf/ again
  2019-10-30 10:53 ` Björn Töpel
@ 2019-10-30 11:05   ` Jesper Dangaard Brouer
  2019-10-30 15:07     ` Daniel Borkmann
  0 siblings, 1 reply; 7+ messages in thread
From: Jesper Dangaard Brouer @ 2019-10-30 11:05 UTC (permalink / raw)
  To: Björn Töpel
  Cc: Daniel Borkmann, Alexei Starovoitov, BPF-dev-list, netdev,
	Eric Sage, Andrii Nakryiko, Arnaldo Carvalho de Melo,
	Björn Töpel, Jiri Olsa,
	Toke Høiland-Jørgensen, Ivan Khoronzhuk,
	Ilias Apalodimas, brouer

On Wed, 30 Oct 2019 11:53:21 +0100
Björn Töpel <bjorn.topel@gmail.com> wrote:

> On Wed, 30 Oct 2019 at 11:43, Jesper Dangaard Brouer <brouer@redhat.com> wrote:
> >
> > Hi Maintainers,
> >
> > It is annoy to experience that simply building kernel tree samples/bpf/
> > is broken as often as it is.  Right now, build is broken in both DaveM
> > net.git and bpf.git.  ACME have some build fixes queued from Björn
> > Töpel. But even with those fixes, build (for samples/bpf/task_fd_query_user.c)
> > are still broken, as reported by Eric Sage (15 Oct), which I have a fix for.
> >  
> 
> Hmm, something else than commit e55190f26f92 ("samples/bpf: Fix build
> for task_fd_query_user.c")?

I see, you already fixed this... and it is in the bpf.git tree.

Then we only need your other fixes from ACME's tree.  I just cloned a
fresh version of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
to check that 'make M=samples/bpf' still fails.


> > Could maintainers add building samples/bpf/ to their build test scripts?
> > (make headers_install && make M=samples/bpf)
> >
> > Also I discovered, the command to build have also recently changed:
> > - Before : make samples/bpf/   or  simply make in subdir samples/bpf/
> > - new cmd: make M=samples/bpf  and in subdir is broken
> >
> > Anyone knows what commit introduced this change?
> > (I need it for a fixes tag, when updating README.rst doc)

The make cmdline change is confusing, because the old command
'make samples/bpf/' reports success (remember last '/') ... this could
be why maintainers are not catching this.

See: old make cmd

 $ touch samples/bpf/*kern.c
 $ make samples/bpf/
   CALL    scripts/checksyscalls.sh
   CALL    scripts/atomic/check-atomics.sh
   DESCEND  objtool
 $


New make cmd fails:

$ make M=samples/bpf
samples/bpf/Makefile:209: WARNING: Detected possible issues with include path.
samples/bpf/Makefile:210: WARNING: Please install kernel headers locally (make headers_install).
  AR      samples/bpf/built-in.a
make -C /home/hawk/git/kernel/bpf/samples/bpf/../../tools/lib/bpf/ RM='rm -rf' LDFLAGS= srctree=/home/hawk/git/kernel/bpf/samples/bpf/../../ O=
  HOSTCC  samples/bpf/test_lru_dist
  HOSTCC  samples/bpf/sock_example
  HOSTCC  samples/bpf/fds_example.o
  HOSTLD  samples/bpf/fds_example
  HOSTCC  samples/bpf/sockex1_user.o
  HOSTLD  samples/bpf/sockex1
  HOSTCC  samples/bpf/sockex2_user.o
  HOSTLD  samples/bpf/sockex2
  HOSTCC  samples/bpf/bpf_load.o
  HOSTCC  samples/bpf/sockex3_user.o
  HOSTLD  samples/bpf/sockex3
/usr/bin/ld: samples/bpf/bpf_load.o: in function `do_load_bpf_file.part.2':
bpf_load.c:(.text+0x91a): undefined reference to `test_attr__enabled'
/usr/bin/ld: bpf_load.c:(.text+0x1403): undefined reference to `test_attr__open'
collect2: error: ld returned 1 exit status
make[1]: *** [scripts/Makefile.host:116: samples/bpf/sockex3] Error 1
make: *** [Makefile:1649: samples/bpf] Error 2

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer


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

* Re: Compile build issues with samples/bpf/ again
  2019-10-30 11:05   ` Jesper Dangaard Brouer
@ 2019-10-30 15:07     ` Daniel Borkmann
  2019-10-30 15:33       ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel Borkmann @ 2019-10-30 15:07 UTC (permalink / raw)
  To: Jesper Dangaard Brouer, Björn Töpel
  Cc: Alexei Starovoitov, BPF-dev-list, netdev, Eric Sage,
	Andrii Nakryiko, Arnaldo Carvalho de Melo, Björn Töpel,
	Jiri Olsa, Toke Høiland-Jørgensen, Ivan Khoronzhuk,
	Ilias Apalodimas

On 10/30/19 12:05 PM, Jesper Dangaard Brouer wrote:
> On Wed, 30 Oct 2019 11:53:21 +0100
> Björn Töpel <bjorn.topel@gmail.com> wrote:
>> On Wed, 30 Oct 2019 at 11:43, Jesper Dangaard Brouer <brouer@redhat.com> wrote:
[...]
>>> It is annoy to experience that simply building kernel tree samples/bpf/
>>> is broken as often as it is.  Right now, build is broken in both DaveM
>>> net.git and bpf.git.  ACME have some build fixes queued from Björn
>>> Töpel. But even with those fixes, build (for samples/bpf/task_fd_query_user.c)
>>> are still broken, as reported by Eric Sage (15 Oct), which I have a fix for.
>>
>> Hmm, something else than commit e55190f26f92 ("samples/bpf: Fix build
>> for task_fd_query_user.c")?
> 
> I see, you already fixed this... and it is in the bpf.git tree.
> 
> Then we only need your other fixes from ACME's tree.  I just cloned a
> fresh version of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
> to check that 'make M=samples/bpf' still fails.

Correct, the two fixes from Bjorn which made the test_attr__* optional were
taken by Arnaldo given the main change was under tools/perf/perf-sys.h. If
you cherry pick these ...

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=06f84d1989b7e58d56fa2e448664585749d41221
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=fce9501aec6bdda45ef3a5e365a5e0de7de7fe2d

... into bpf tree, then all builds fine. When Arnaldo took them, my assumption
was that these fixes would have been routed by him to Linus' tree, and upon
resync we pull them automatically into bpf tree again.

Look like didn't happen yet at this point, Arnaldo?

Build after cherry-pick:

root@foo1:~/bpf# make -j8 M=samples/bpf/ clean
   CLEAN   samples/bpf/
   CLEAN   samples/bpf//Module.symvers
root@foo1:~/bpf# make -j8 M=samples/bpf/
   AR      samples/bpf//built-in.a
make -C /root/bpf/samples/bpf/../../tools/lib/bpf/ RM='rm -rf' LDFLAGS= srctree=/root/bpf/samples/bpf/../../ O=
   HOSTCC  samples/bpf//bpf_load.o
   HOSTCC  samples/bpf//xdp1_user.o
   HOSTCC  samples/bpf//cookie_uid_helper_example.o
   HOSTCC  samples/bpf//test_lru_dist
   HOSTCC  samples/bpf//sock_example
   HOSTCC  samples/bpf//fds_example.o
   HOSTCC  samples/bpf//sockex1_user.o
   HOSTCC  samples/bpf//sockex2_user.o
   HOSTCC  samples/bpf//sockex3_user.o
   HOSTCC  samples/bpf//tracex1_user.o
   HOSTCC  samples/bpf//tracex2_user.o
   HOSTCC  samples/bpf//tracex3_user.o
   HOSTCC  samples/bpf//tracex4_user.o
   HOSTCC  samples/bpf//tracex5_user.o
   HOSTCC  samples/bpf//tracex6_user.o
   HOSTCC  samples/bpf//tracex7_user.o
   HOSTCC  samples/bpf//test_probe_write_user_user.o
   HOSTCC  samples/bpf//trace_output_user.o
   HOSTCC  samples/bpf//lathist_user.o
   HOSTCC  samples/bpf//offwaketime_user.o
   HOSTCC  samples/bpf//spintest_user.o
   HOSTCC  samples/bpf//map_perf_test_user.o
   HOSTCC  samples/bpf//test_overhead_user.o
   HOSTCC  samples/bpf//test_cgrp2_array_pin.o
   HOSTCC  samples/bpf//test_cgrp2_attach.o
   HOSTCC  samples/bpf//test_cgrp2_sock.o
   HOSTCC  samples/bpf//test_cgrp2_sock2.o
   HOSTLD  samples/bpf//xdp1
   HOSTLD  samples/bpf//xdp2
   HOSTCC  samples/bpf//xdp_router_ipv4_user.o
   HOSTCC  samples/bpf//test_current_task_under_cgroup_user.o
   HOSTCC  samples/bpf//trace_event_user.o
   HOSTCC  samples/bpf//sampleip_user.o
   HOSTCC  samples/bpf//tc_l2_redirect_user.o
   HOSTCC  samples/bpf//lwt_len_hist_user.o
   HOSTCC  samples/bpf//xdp_tx_iptunnel_user.o
   HOSTCC  samples/bpf//test_map_in_map_user.o
   HOSTLD  samples/bpf//per_socket_stats_example
   HOSTCC  samples/bpf//xdp_redirect_user.o
   HOSTCC  samples/bpf//xdp_redirect_map_user.o
   HOSTCC  samples/bpf//xdp_redirect_cpu_user.o
   HOSTCC  samples/bpf//xdp_monitor_user.o
   HOSTCC  samples/bpf//xdp_rxq_info_user.o
   HOSTCC  samples/bpf//syscall_tp_user.o
   HOSTCC  samples/bpf//cpustat_user.o
   HOSTCC  samples/bpf//xdp_adjust_tail_user.o
   HOSTCC  samples/bpf//xdpsock_user.o
   HOSTCC  samples/bpf//xdp_fwd_user.o
   HOSTCC  samples/bpf//task_fd_query_user.o
   HOSTCC  samples/bpf//xdp_sample_pkts_user.o
   HOSTCC  samples/bpf//ibumad_user.o
   HOSTCC  samples/bpf//hbm.o
   CLANG-bpf  samples/bpf//sockex1_kern.o
   CLANG-bpf  samples/bpf//sockex2_kern.o
   CLANG-bpf  samples/bpf//sockex3_kern.o
   CLANG-bpf  samples/bpf//tracex1_kern.o
   CLANG-bpf  samples/bpf//tracex2_kern.o
   CLANG-bpf  samples/bpf//tracex3_kern.o
   CLANG-bpf  samples/bpf//tracex4_kern.o
   CC      samples/bpf//syscall_nrs.s
   CLANG-bpf  samples/bpf//tracex6_kern.o
   CLANG-bpf  samples/bpf//tracex7_kern.o
   CLANG-bpf  samples/bpf//sock_flags_kern.o
   CLANG-bpf  samples/bpf//test_probe_write_user_kern.o
   CLANG-bpf  samples/bpf//trace_output_kern.o
   CLANG-bpf  samples/bpf//tcbpf1_kern.o
   CLANG-bpf  samples/bpf//tc_l2_redirect_kern.o
   CLANG-bpf  samples/bpf//lathist_kern.o
   CLANG-bpf  samples/bpf//offwaketime_kern.o
   CLANG-bpf  samples/bpf//spintest_kern.o
   CLANG-bpf  samples/bpf//map_perf_test_kern.o
   CLANG-bpf  samples/bpf//test_overhead_tp_kern.o
   CLANG-bpf  samples/bpf//test_overhead_raw_tp_kern.o
   CLANG-bpf  samples/bpf//test_overhead_kprobe_kern.o
   CLANG-bpf  samples/bpf//parse_varlen.o
   CLANG-bpf  samples/bpf//parse_simple.o
   CLANG-bpf  samples/bpf//parse_ldabs.o
   CLANG-bpf  samples/bpf//test_cgrp2_tc_kern.o
   CLANG-bpf  samples/bpf//xdp1_kern.o
   CLANG-bpf  samples/bpf//xdp2_kern.o
   CLANG-bpf  samples/bpf//xdp_router_ipv4_kern.o
   CLANG-bpf  samples/bpf//test_current_task_under_cgroup_kern.o
   CLANG-bpf  samples/bpf//trace_event_kern.o
   CLANG-bpf  samples/bpf//sampleip_kern.o
   CLANG-bpf  samples/bpf//lwt_len_hist_kern.o
   CLANG-bpf  samples/bpf//xdp_tx_iptunnel_kern.o
   CLANG-bpf  samples/bpf//test_map_in_map_kern.o
   CLANG-bpf  samples/bpf//tcp_synrto_kern.o
   CLANG-bpf  samples/bpf//tcp_rwnd_kern.o
   CLANG-bpf  samples/bpf//tcp_bufs_kern.o
   CLANG-bpf  samples/bpf//tcp_cong_kern.o
   CLANG-bpf  samples/bpf//tcp_iw_kern.o
   CLANG-bpf  samples/bpf//tcp_clamp_kern.o
   CLANG-bpf  samples/bpf//tcp_basertt_kern.o
   CLANG-bpf  samples/bpf//tcp_tos_reflect_kern.o
   CLANG-bpf  samples/bpf//tcp_dumpstats_kern.o
   CLANG-bpf  samples/bpf//xdp_redirect_kern.o
   CLANG-bpf  samples/bpf//xdp_redirect_map_kern.o
   CLANG-bpf  samples/bpf//xdp_redirect_cpu_kern.o
   CLANG-bpf  samples/bpf//xdp_monitor_kern.o
   CLANG-bpf  samples/bpf//xdp_rxq_info_kern.o
   CLANG-bpf  samples/bpf//xdp2skb_meta_kern.o
   CLANG-bpf  samples/bpf//syscall_tp_kern.o
   CLANG-bpf  samples/bpf//cpustat_kern.o
   CLANG-bpf  samples/bpf//xdp_adjust_tail_kern.o
   CLANG-bpf  samples/bpf//xdp_fwd_kern.o
   CLANG-bpf  samples/bpf//task_fd_query_kern.o
   CLANG-bpf  samples/bpf//xdp_sample_pkts_kern.o
   CLANG-bpf  samples/bpf//ibumad_kern.o
   CLANG-bpf  samples/bpf//hbm_out_kern.o
   CLANG-bpf  samples/bpf//hbm_edt_kern.o
   HOSTLD  samples/bpf//fds_example
   HOSTLD  samples/bpf//sockex1
   HOSTLD  samples/bpf//sockex2
   HOSTLD  samples/bpf//sockex3
   HOSTLD  samples/bpf//tracex1
   HOSTLD  samples/bpf//tracex2
   HOSTLD  samples/bpf//tracex3
   HOSTLD  samples/bpf//tracex4
   HOSTLD  samples/bpf//tracex5
   HOSTLD  samples/bpf//tracex6
   HOSTLD  samples/bpf//tracex7
   HOSTLD  samples/bpf//test_probe_write_user
   HOSTLD  samples/bpf//trace_output
   HOSTLD  samples/bpf//lathist
   HOSTLD  samples/bpf//offwaketime
   HOSTLD  samples/bpf//spintest
   HOSTLD  samples/bpf//map_perf_test
   HOSTLD  samples/bpf//test_overhead
   HOSTLD  samples/bpf//test_cgrp2_array_pin
   HOSTLD  samples/bpf//test_cgrp2_attach
   HOSTLD  samples/bpf//test_cgrp2_sock
   HOSTLD  samples/bpf//test_cgrp2_sock2
   HOSTLD  samples/bpf//xdp_router_ipv4
   HOSTLD  samples/bpf//test_current_task_under_cgroup
   HOSTLD  samples/bpf//trace_event
   HOSTLD  samples/bpf//sampleip
   HOSTLD  samples/bpf//tc_l2_redirect
   HOSTLD  samples/bpf//lwt_len_hist
   HOSTLD  samples/bpf//xdp_tx_iptunnel
   HOSTLD  samples/bpf//test_map_in_map
   HOSTLD  samples/bpf//xdp_redirect
   HOSTLD  samples/bpf//xdp_redirect_map
   HOSTLD  samples/bpf//xdp_redirect_cpu
   HOSTLD  samples/bpf//xdp_monitor
   HOSTLD  samples/bpf//xdp_rxq_info
   HOSTLD  samples/bpf//syscall_tp
   HOSTLD  samples/bpf//cpustat
   HOSTLD  samples/bpf//xdp_adjust_tail
   HOSTLD  samples/bpf//xdpsock
   HOSTLD  samples/bpf//xdp_fwd
   HOSTLD  samples/bpf//task_fd_query
   HOSTLD  samples/bpf//xdp_sample_pkts
   HOSTLD  samples/bpf//ibumad
   HOSTLD  samples/bpf//hbm
   UPD     samples/bpf//syscall_nrs.h
   CLANG-bpf  samples/bpf//tracex5_kern.o
   Building modules, stage 2.
   MODPOST 0 modules
root@foo1:~/bpf#

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

* Re: Compile build issues with samples/bpf/ again
  2019-10-30 15:07     ` Daniel Borkmann
@ 2019-10-30 15:33       ` Arnaldo Carvalho de Melo
  2019-10-31 10:55         ` Daniel Borkmann
  0 siblings, 1 reply; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2019-10-30 15:33 UTC (permalink / raw)
  To: Daniel Borkmann
  Cc: Jesper Dangaard Brouer, Björn Töpel,
	Alexei Starovoitov, BPF-dev-list, netdev, Eric Sage,
	Andrii Nakryiko, Arnaldo Carvalho de Melo, Björn Töpel,
	Jiri Olsa, Toke Høiland-Jørgensen, Ivan Khoronzhuk,
	Ilias Apalodimas

Em Wed, Oct 30, 2019 at 04:07:32PM +0100, Daniel Borkmann escreveu:
> On 10/30/19 12:05 PM, Jesper Dangaard Brouer wrote:
> > On Wed, 30 Oct 2019 11:53:21 +0100
> > Björn Töpel <bjorn.topel@gmail.com> wrote:
> > > On Wed, 30 Oct 2019 at 11:43, Jesper Dangaard Brouer <brouer@redhat.com> wrote:
> [...]
> > > > It is annoy to experience that simply building kernel tree samples/bpf/
> > > > is broken as often as it is.  Right now, build is broken in both DaveM
> > > > net.git and bpf.git.  ACME have some build fixes queued from Björn
> > > > Töpel. But even with those fixes, build (for samples/bpf/task_fd_query_user.c)
> > > > are still broken, as reported by Eric Sage (15 Oct), which I have a fix for.
> > > 
> > > Hmm, something else than commit e55190f26f92 ("samples/bpf: Fix build
> > > for task_fd_query_user.c")?
> > 
> > I see, you already fixed this... and it is in the bpf.git tree.
> > 
> > Then we only need your other fixes from ACME's tree.  I just cloned a
> > fresh version of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
> > to check that 'make M=samples/bpf' still fails.
> 
> Correct, the two fixes from Bjorn which made the test_attr__* optional were
> taken by Arnaldo given the main change was under tools/perf/perf-sys.h. If
> you cherry pick these ...
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=06f84d1989b7e58d56fa2e448664585749d41221
> https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=fce9501aec6bdda45ef3a5e365a5e0de7de7fe2d
> 
> ... into bpf tree, then all builds fine. When Arnaldo took them, my assumption
> was that these fixes would have been routed by him to Linus' tree, and upon
> resync we pull them automatically into bpf tree again.
> 
> Look like didn't happen yet at this point, Arnaldo?

Yes, it will go to Linus, I was just unsure when was that it should go,
i.e. next or in the current window, so I've queued it up to next.

[acme@quaco perf]$ git tag --contains 06f84d1989b7e58d56fa2e448664585749d41221
perf-core-for-mingo-5.5-20191011
perf-core-for-mingo-5.5-20191021
[acme@quaco perf]$

So its in tip, but queued for 5.5, while I think you guys expect this to
fast track into 5.4, right? If so, please get that queued up or tell me
if you prefer for me to do it.
 
I agree with Jesper that when one changes something in common code, then
one does have to test all tools/ that may use that common code, but in
this specific case the breakage happened because tools/perf/ code was
used outside tools/perf/ which I completely didn't expect to happen,
whatever that is in tools/perf/perf-sys.h better go to tools/include or
tools/arch or some other common area, agreed?

- Arnaldo
 
> Build after cherry-pick:
> 
> root@foo1:~/bpf# make -j8 M=samples/bpf/ clean
>   CLEAN   samples/bpf/
>   CLEAN   samples/bpf//Module.symvers
> root@foo1:~/bpf# make -j8 M=samples/bpf/
>   AR      samples/bpf//built-in.a
> make -C /root/bpf/samples/bpf/../../tools/lib/bpf/ RM='rm -rf' LDFLAGS= srctree=/root/bpf/samples/bpf/../../ O=
>   HOSTCC  samples/bpf//bpf_load.o
>   HOSTCC  samples/bpf//xdp1_user.o
>   HOSTCC  samples/bpf//cookie_uid_helper_example.o
>   HOSTCC  samples/bpf//test_lru_dist
>   HOSTCC  samples/bpf//sock_example
>   HOSTCC  samples/bpf//fds_example.o
>   HOSTCC  samples/bpf//sockex1_user.o
>   HOSTCC  samples/bpf//sockex2_user.o
>   HOSTCC  samples/bpf//sockex3_user.o
>   HOSTCC  samples/bpf//tracex1_user.o
>   HOSTCC  samples/bpf//tracex2_user.o
>   HOSTCC  samples/bpf//tracex3_user.o
>   HOSTCC  samples/bpf//tracex4_user.o
>   HOSTCC  samples/bpf//tracex5_user.o
>   HOSTCC  samples/bpf//tracex6_user.o
>   HOSTCC  samples/bpf//tracex7_user.o
>   HOSTCC  samples/bpf//test_probe_write_user_user.o
>   HOSTCC  samples/bpf//trace_output_user.o
>   HOSTCC  samples/bpf//lathist_user.o
>   HOSTCC  samples/bpf//offwaketime_user.o
>   HOSTCC  samples/bpf//spintest_user.o
>   HOSTCC  samples/bpf//map_perf_test_user.o
>   HOSTCC  samples/bpf//test_overhead_user.o
>   HOSTCC  samples/bpf//test_cgrp2_array_pin.o
>   HOSTCC  samples/bpf//test_cgrp2_attach.o
>   HOSTCC  samples/bpf//test_cgrp2_sock.o
>   HOSTCC  samples/bpf//test_cgrp2_sock2.o
>   HOSTLD  samples/bpf//xdp1
>   HOSTLD  samples/bpf//xdp2
>   HOSTCC  samples/bpf//xdp_router_ipv4_user.o
>   HOSTCC  samples/bpf//test_current_task_under_cgroup_user.o
>   HOSTCC  samples/bpf//trace_event_user.o
>   HOSTCC  samples/bpf//sampleip_user.o
>   HOSTCC  samples/bpf//tc_l2_redirect_user.o
>   HOSTCC  samples/bpf//lwt_len_hist_user.o
>   HOSTCC  samples/bpf//xdp_tx_iptunnel_user.o
>   HOSTCC  samples/bpf//test_map_in_map_user.o
>   HOSTLD  samples/bpf//per_socket_stats_example
>   HOSTCC  samples/bpf//xdp_redirect_user.o
>   HOSTCC  samples/bpf//xdp_redirect_map_user.o
>   HOSTCC  samples/bpf//xdp_redirect_cpu_user.o
>   HOSTCC  samples/bpf//xdp_monitor_user.o
>   HOSTCC  samples/bpf//xdp_rxq_info_user.o
>   HOSTCC  samples/bpf//syscall_tp_user.o
>   HOSTCC  samples/bpf//cpustat_user.o
>   HOSTCC  samples/bpf//xdp_adjust_tail_user.o
>   HOSTCC  samples/bpf//xdpsock_user.o
>   HOSTCC  samples/bpf//xdp_fwd_user.o
>   HOSTCC  samples/bpf//task_fd_query_user.o
>   HOSTCC  samples/bpf//xdp_sample_pkts_user.o
>   HOSTCC  samples/bpf//ibumad_user.o
>   HOSTCC  samples/bpf//hbm.o
>   CLANG-bpf  samples/bpf//sockex1_kern.o
>   CLANG-bpf  samples/bpf//sockex2_kern.o
>   CLANG-bpf  samples/bpf//sockex3_kern.o
>   CLANG-bpf  samples/bpf//tracex1_kern.o
>   CLANG-bpf  samples/bpf//tracex2_kern.o
>   CLANG-bpf  samples/bpf//tracex3_kern.o
>   CLANG-bpf  samples/bpf//tracex4_kern.o
>   CC      samples/bpf//syscall_nrs.s
>   CLANG-bpf  samples/bpf//tracex6_kern.o
>   CLANG-bpf  samples/bpf//tracex7_kern.o
>   CLANG-bpf  samples/bpf//sock_flags_kern.o
>   CLANG-bpf  samples/bpf//test_probe_write_user_kern.o
>   CLANG-bpf  samples/bpf//trace_output_kern.o
>   CLANG-bpf  samples/bpf//tcbpf1_kern.o
>   CLANG-bpf  samples/bpf//tc_l2_redirect_kern.o
>   CLANG-bpf  samples/bpf//lathist_kern.o
>   CLANG-bpf  samples/bpf//offwaketime_kern.o
>   CLANG-bpf  samples/bpf//spintest_kern.o
>   CLANG-bpf  samples/bpf//map_perf_test_kern.o
>   CLANG-bpf  samples/bpf//test_overhead_tp_kern.o
>   CLANG-bpf  samples/bpf//test_overhead_raw_tp_kern.o
>   CLANG-bpf  samples/bpf//test_overhead_kprobe_kern.o
>   CLANG-bpf  samples/bpf//parse_varlen.o
>   CLANG-bpf  samples/bpf//parse_simple.o
>   CLANG-bpf  samples/bpf//parse_ldabs.o
>   CLANG-bpf  samples/bpf//test_cgrp2_tc_kern.o
>   CLANG-bpf  samples/bpf//xdp1_kern.o
>   CLANG-bpf  samples/bpf//xdp2_kern.o
>   CLANG-bpf  samples/bpf//xdp_router_ipv4_kern.o
>   CLANG-bpf  samples/bpf//test_current_task_under_cgroup_kern.o
>   CLANG-bpf  samples/bpf//trace_event_kern.o
>   CLANG-bpf  samples/bpf//sampleip_kern.o
>   CLANG-bpf  samples/bpf//lwt_len_hist_kern.o
>   CLANG-bpf  samples/bpf//xdp_tx_iptunnel_kern.o
>   CLANG-bpf  samples/bpf//test_map_in_map_kern.o
>   CLANG-bpf  samples/bpf//tcp_synrto_kern.o
>   CLANG-bpf  samples/bpf//tcp_rwnd_kern.o
>   CLANG-bpf  samples/bpf//tcp_bufs_kern.o
>   CLANG-bpf  samples/bpf//tcp_cong_kern.o
>   CLANG-bpf  samples/bpf//tcp_iw_kern.o
>   CLANG-bpf  samples/bpf//tcp_clamp_kern.o
>   CLANG-bpf  samples/bpf//tcp_basertt_kern.o
>   CLANG-bpf  samples/bpf//tcp_tos_reflect_kern.o
>   CLANG-bpf  samples/bpf//tcp_dumpstats_kern.o
>   CLANG-bpf  samples/bpf//xdp_redirect_kern.o
>   CLANG-bpf  samples/bpf//xdp_redirect_map_kern.o
>   CLANG-bpf  samples/bpf//xdp_redirect_cpu_kern.o
>   CLANG-bpf  samples/bpf//xdp_monitor_kern.o
>   CLANG-bpf  samples/bpf//xdp_rxq_info_kern.o
>   CLANG-bpf  samples/bpf//xdp2skb_meta_kern.o
>   CLANG-bpf  samples/bpf//syscall_tp_kern.o
>   CLANG-bpf  samples/bpf//cpustat_kern.o
>   CLANG-bpf  samples/bpf//xdp_adjust_tail_kern.o
>   CLANG-bpf  samples/bpf//xdp_fwd_kern.o
>   CLANG-bpf  samples/bpf//task_fd_query_kern.o
>   CLANG-bpf  samples/bpf//xdp_sample_pkts_kern.o
>   CLANG-bpf  samples/bpf//ibumad_kern.o
>   CLANG-bpf  samples/bpf//hbm_out_kern.o
>   CLANG-bpf  samples/bpf//hbm_edt_kern.o
>   HOSTLD  samples/bpf//fds_example
>   HOSTLD  samples/bpf//sockex1
>   HOSTLD  samples/bpf//sockex2
>   HOSTLD  samples/bpf//sockex3
>   HOSTLD  samples/bpf//tracex1
>   HOSTLD  samples/bpf//tracex2
>   HOSTLD  samples/bpf//tracex3
>   HOSTLD  samples/bpf//tracex4
>   HOSTLD  samples/bpf//tracex5
>   HOSTLD  samples/bpf//tracex6
>   HOSTLD  samples/bpf//tracex7
>   HOSTLD  samples/bpf//test_probe_write_user
>   HOSTLD  samples/bpf//trace_output
>   HOSTLD  samples/bpf//lathist
>   HOSTLD  samples/bpf//offwaketime
>   HOSTLD  samples/bpf//spintest
>   HOSTLD  samples/bpf//map_perf_test
>   HOSTLD  samples/bpf//test_overhead
>   HOSTLD  samples/bpf//test_cgrp2_array_pin
>   HOSTLD  samples/bpf//test_cgrp2_attach
>   HOSTLD  samples/bpf//test_cgrp2_sock
>   HOSTLD  samples/bpf//test_cgrp2_sock2
>   HOSTLD  samples/bpf//xdp_router_ipv4
>   HOSTLD  samples/bpf//test_current_task_under_cgroup
>   HOSTLD  samples/bpf//trace_event
>   HOSTLD  samples/bpf//sampleip
>   HOSTLD  samples/bpf//tc_l2_redirect
>   HOSTLD  samples/bpf//lwt_len_hist
>   HOSTLD  samples/bpf//xdp_tx_iptunnel
>   HOSTLD  samples/bpf//test_map_in_map
>   HOSTLD  samples/bpf//xdp_redirect
>   HOSTLD  samples/bpf//xdp_redirect_map
>   HOSTLD  samples/bpf//xdp_redirect_cpu
>   HOSTLD  samples/bpf//xdp_monitor
>   HOSTLD  samples/bpf//xdp_rxq_info
>   HOSTLD  samples/bpf//syscall_tp
>   HOSTLD  samples/bpf//cpustat
>   HOSTLD  samples/bpf//xdp_adjust_tail
>   HOSTLD  samples/bpf//xdpsock
>   HOSTLD  samples/bpf//xdp_fwd
>   HOSTLD  samples/bpf//task_fd_query
>   HOSTLD  samples/bpf//xdp_sample_pkts
>   HOSTLD  samples/bpf//ibumad
>   HOSTLD  samples/bpf//hbm
>   UPD     samples/bpf//syscall_nrs.h
>   CLANG-bpf  samples/bpf//tracex5_kern.o
>   Building modules, stage 2.
>   MODPOST 0 modules
> root@foo1:~/bpf#

-- 

- Arnaldo

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

* Re: Compile build issues with samples/bpf/ again
  2019-10-30 10:43 Compile build issues with samples/bpf/ again Jesper Dangaard Brouer
  2019-10-30 10:53 ` Björn Töpel
@ 2019-10-30 19:09 ` David Miller
  1 sibling, 0 replies; 7+ messages in thread
From: David Miller @ 2019-10-30 19:09 UTC (permalink / raw)
  To: brouer
  Cc: borkmann, ast, bpf, netdev, eric, andrii.nakryiko, acme,
	bjorn.topel, jolsa, toke, ivan.khoronzhuk, ilias.apalodimas

From: Jesper Dangaard Brouer <brouer@redhat.com>
Date: Wed, 30 Oct 2019 11:43:13 +0100

> Also I discovered, the command to build have also recently changed:
> - Before : make samples/bpf/   or  simply make in subdir samples/bpf/
> - new cmd: make M=samples/bpf  and in subdir is broken

Those build system changes were extremely annoying and have severely
hampered my workflow to no end.

Not only have subdir builds been broken off and on by this, but when
they do work they take forever so my usual shortcut of justing building
a specific object file to build test something now doesn't save me
much time at all.

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

* Re: Compile build issues with samples/bpf/ again
  2019-10-30 15:33       ` Arnaldo Carvalho de Melo
@ 2019-10-31 10:55         ` Daniel Borkmann
  0 siblings, 0 replies; 7+ messages in thread
From: Daniel Borkmann @ 2019-10-31 10:55 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Daniel Borkmann, Jesper Dangaard Brouer, Björn Töpel,
	Alexei Starovoitov, BPF-dev-list, netdev, Eric Sage,
	Andrii Nakryiko, Arnaldo Carvalho de Melo, Björn Töpel,
	Jiri Olsa, Toke Høiland-Jørgensen, Ivan Khoronzhuk,
	Ilias Apalodimas

On Wed, Oct 30, 2019 at 12:33:40PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Wed, Oct 30, 2019 at 04:07:32PM +0100, Daniel Borkmann escreveu:
> > On 10/30/19 12:05 PM, Jesper Dangaard Brouer wrote:
> > > On Wed, 30 Oct 2019 11:53:21 +0100
> > > Björn Töpel <bjorn.topel@gmail.com> wrote:
> > > > On Wed, 30 Oct 2019 at 11:43, Jesper Dangaard Brouer <brouer@redhat.com> wrote:
> > [...]
> > > > > It is annoy to experience that simply building kernel tree samples/bpf/
> > > > > is broken as often as it is.  Right now, build is broken in both DaveM
> > > > > net.git and bpf.git.  ACME have some build fixes queued from Björn
> > > > > Töpel. But even with those fixes, build (for samples/bpf/task_fd_query_user.c)
> > > > > are still broken, as reported by Eric Sage (15 Oct), which I have a fix for.
> > > > 
> > > > Hmm, something else than commit e55190f26f92 ("samples/bpf: Fix build
> > > > for task_fd_query_user.c")?
> > > 
> > > I see, you already fixed this... and it is in the bpf.git tree.
> > > 
> > > Then we only need your other fixes from ACME's tree.  I just cloned a
> > > fresh version of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
> > > to check that 'make M=samples/bpf' still fails.
> > 
> > Correct, the two fixes from Bjorn which made the test_attr__* optional were
> > taken by Arnaldo given the main change was under tools/perf/perf-sys.h. If
> > you cherry pick these ...
> > 
> > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=06f84d1989b7e58d56fa2e448664585749d41221
> > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=fce9501aec6bdda45ef3a5e365a5e0de7de7fe2d
> > 
> > ... into bpf tree, then all builds fine. When Arnaldo took them, my assumption
> > was that these fixes would have been routed by him to Linus' tree, and upon
> > resync we pull them automatically into bpf tree again.
> > 
> > Look like didn't happen yet at this point, Arnaldo?
> 
> Yes, it will go to Linus, I was just unsure when was that it should go,
> i.e. next or in the current window, so I've queued it up to next.
> 
> [acme@quaco perf]$ git tag --contains 06f84d1989b7e58d56fa2e448664585749d41221
> perf-core-for-mingo-5.5-20191011
> perf-core-for-mingo-5.5-20191021
> [acme@quaco perf]$
> 
> So its in tip, but queued for 5.5, while I think you guys expect this to
> fast track into 5.4, right? If so, please get that queued up or tell me
> if you prefer for me to do it.

Personally, I don't think it is super critical, but I tend to agree with
Jesper that samples code should compile before final release is out the
door. I can cherry-pick both from tip into bpf tree, no problem. The commit
will end up twice in git history, but we've done this in very rare occasions
in the past to get dependencies into bpf.

> I agree with Jesper that when one changes something in common code, then
> one does have to test all tools/ that may use that common code, but in
> this specific case the breakage happened because tools/perf/ code was
> used outside tools/perf/ which I completely didn't expect to happen,
> whatever that is in tools/perf/perf-sys.h better go to tools/include or
> tools/arch or some other common area, agreed?

Some of the BPF samples code seems to be using sys_perf_event_open(), for
other BPF bits under tools/ this seems not the case.

Thanks,
Daniel

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

end of thread, other threads:[~2019-10-31 10:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-30 10:43 Compile build issues with samples/bpf/ again Jesper Dangaard Brouer
2019-10-30 10:53 ` Björn Töpel
2019-10-30 11:05   ` Jesper Dangaard Brouer
2019-10-30 15:07     ` Daniel Borkmann
2019-10-30 15:33       ` Arnaldo Carvalho de Melo
2019-10-31 10:55         ` Daniel Borkmann
2019-10-30 19:09 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).