mbox series

[0/2] tools: Unify top-level quiet infrastructure

Message ID 20250203-quiet_tools-v1-0-d25c8956e59a@rivosinc.com (mailing list archive)
Headers show
Series tools: Unify top-level quiet infrastructure | expand

Message

Charlie Jenkins Feb. 4, 2025, 12:10 a.m. UTC
The quiet infrastructure was moved out of Makefile.build to accomidate
the new syscall table generation scripts in perf. Syscall table
generation wanted to also be able to be quiet, so instead of again
copying the code to set the quiet variables, the code was moved into
Makefile.perf to be used globally. This was not the right solution. It
should have been moved even further upwards in the call chain.
Makefile.include is imported in many files so this seems like a proper
place to put it.

To: 

Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
---
Charlie Jenkins (2):
      tools: Unify top-level quiet infrastructure
      tools: Remove redundant quiet setup

 tools/arch/arm64/tools/Makefile           |  6 -----
 tools/bpf/Makefile                        |  6 -----
 tools/bpf/bpftool/Documentation/Makefile  |  6 -----
 tools/bpf/bpftool/Makefile                |  6 -----
 tools/bpf/resolve_btfids/Makefile         |  2 --
 tools/bpf/runqslower/Makefile             |  5 +---
 tools/build/Makefile                      |  8 +-----
 tools/lib/bpf/Makefile                    | 13 ----------
 tools/lib/perf/Makefile                   | 13 ----------
 tools/lib/thermal/Makefile                | 13 ----------
 tools/objtool/Makefile                    |  6 -----
 tools/perf/Makefile.perf                  | 41 -------------------------------
 tools/scripts/Makefile.include            | 31 ++++++++++++++++++++++-
 tools/testing/selftests/bpf/Makefile.docs |  6 -----
 tools/testing/selftests/hid/Makefile      |  2 --
 tools/thermal/lib/Makefile                | 13 ----------
 tools/tracing/latency/Makefile            |  6 -----
 tools/tracing/rtla/Makefile               |  6 -----
 tools/verification/rv/Makefile            |  6 -----
 19 files changed, 32 insertions(+), 163 deletions(-)
---
base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
change-id: 20250203-quiet_tools-9a6ea9d65a19

Comments

Alexei Starovoitov Feb. 4, 2025, 5:18 p.m. UTC | #1
On Tue, Feb 4, 2025 at 12:10 AM Charlie Jenkins <charlie@rivosinc.com> wrote:
>
> The quiet infrastructure was moved out of Makefile.build to accomidate
> the new syscall table generation scripts in perf. Syscall table
> generation wanted to also be able to be quiet, so instead of again
> copying the code to set the quiet variables, the code was moved into
> Makefile.perf to be used globally. This was not the right solution. It
> should have been moved even further upwards in the call chain.
> Makefile.include is imported in many files so this seems like a proper
> place to put it.
>
> To:
>
> Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
> ---
> Charlie Jenkins (2):
>       tools: Unify top-level quiet infrastructure
>       tools: Remove redundant quiet setup
>
>  tools/arch/arm64/tools/Makefile           |  6 -----
>  tools/bpf/Makefile                        |  6 -----
>  tools/bpf/bpftool/Documentation/Makefile  |  6 -----
>  tools/bpf/bpftool/Makefile                |  6 -----
>  tools/bpf/resolve_btfids/Makefile         |  2 --
>  tools/bpf/runqslower/Makefile             |  5 +---
>  tools/build/Makefile                      |  8 +-----
>  tools/lib/bpf/Makefile                    | 13 ----------

Nack.
libbpf and bpftool are synced independently to github
and released from there.
This change breaks it.
Charlie Jenkins Feb. 4, 2025, 6:34 p.m. UTC | #2
On Tue, Feb 04, 2025 at 05:18:42PM +0000, Alexei Starovoitov wrote:
> On Tue, Feb 4, 2025 at 12:10 AM Charlie Jenkins <charlie@rivosinc.com> wrote:
> >
> > The quiet infrastructure was moved out of Makefile.build to accomidate
> > the new syscall table generation scripts in perf. Syscall table
> > generation wanted to also be able to be quiet, so instead of again
> > copying the code to set the quiet variables, the code was moved into
> > Makefile.perf to be used globally. This was not the right solution. It
> > should have been moved even further upwards in the call chain.
> > Makefile.include is imported in many files so this seems like a proper
> > place to put it.
> >
> > To:
> >
> > Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
> > ---
> > Charlie Jenkins (2):
> >       tools: Unify top-level quiet infrastructure
> >       tools: Remove redundant quiet setup
> >
> >  tools/arch/arm64/tools/Makefile           |  6 -----
> >  tools/bpf/Makefile                        |  6 -----
> >  tools/bpf/bpftool/Documentation/Makefile  |  6 -----
> >  tools/bpf/bpftool/Makefile                |  6 -----
> >  tools/bpf/resolve_btfids/Makefile         |  2 --
> >  tools/bpf/runqslower/Makefile             |  5 +---
> >  tools/build/Makefile                      |  8 +-----
> >  tools/lib/bpf/Makefile                    | 13 ----------
> 
> Nack.
> libbpf and bpftool are synced independently to github
> and released from there.
> This change breaks it.

Can you explain how it breaks it? Currently bpftool and resolve_btfids
don't build quietly so this was an attempt to fix that.

- Charlie
Namhyung Kim Feb. 4, 2025, 7:04 p.m. UTC | #3
Hello,

On Tue, Feb 04, 2025 at 10:34:41AM -0800, Charlie Jenkins wrote:
> On Tue, Feb 04, 2025 at 05:18:42PM +0000, Alexei Starovoitov wrote:
> > On Tue, Feb 4, 2025 at 12:10 AM Charlie Jenkins <charlie@rivosinc.com> wrote:
> > >
> > > The quiet infrastructure was moved out of Makefile.build to accomidate
> > > the new syscall table generation scripts in perf. Syscall table
> > > generation wanted to also be able to be quiet, so instead of again
> > > copying the code to set the quiet variables, the code was moved into
> > > Makefile.perf to be used globally. This was not the right solution. It
> > > should have been moved even further upwards in the call chain.
> > > Makefile.include is imported in many files so this seems like a proper
> > > place to put it.
> > >
> > > To:
> > >
> > > Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
> > > ---
> > > Charlie Jenkins (2):
> > >       tools: Unify top-level quiet infrastructure
> > >       tools: Remove redundant quiet setup
> > >
> > >  tools/arch/arm64/tools/Makefile           |  6 -----
> > >  tools/bpf/Makefile                        |  6 -----
> > >  tools/bpf/bpftool/Documentation/Makefile  |  6 -----
> > >  tools/bpf/bpftool/Makefile                |  6 -----
> > >  tools/bpf/resolve_btfids/Makefile         |  2 --
> > >  tools/bpf/runqslower/Makefile             |  5 +---
> > >  tools/build/Makefile                      |  8 +-----
> > >  tools/lib/bpf/Makefile                    | 13 ----------
> > 
> > Nack.
> > libbpf and bpftool are synced independently to github
> > and released from there.
> > This change breaks it.

Sorry, I overlooked this part and merged a change that touched the
common files into the perf tree.

f2868b1a66d4f40f ("perf tools: Expose quiet/verbose variables in Makefile.perf")

Unfortunately, it's already in v6.14-rc1.

> 
> Can you explain how it breaks it? Currently bpftool and resolve_btfids
> don't build quietly so this was an attempt to fix that.

So I think you will need something like this for v6.14.  Again, sorry
about the trouble.

Thanks,
Namhyung
Alexei Starovoitov Feb. 4, 2025, 11:02 p.m. UTC | #4
On Tue, Feb 4, 2025 at 7:04 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> Hello,
>
> On Tue, Feb 04, 2025 at 10:34:41AM -0800, Charlie Jenkins wrote:
> > On Tue, Feb 04, 2025 at 05:18:42PM +0000, Alexei Starovoitov wrote:
> > > On Tue, Feb 4, 2025 at 12:10 AM Charlie Jenkins <charlie@rivosinc.com> wrote:
> > > >
> > > > The quiet infrastructure was moved out of Makefile.build to accomidate
> > > > the new syscall table generation scripts in perf. Syscall table
> > > > generation wanted to also be able to be quiet, so instead of again
> > > > copying the code to set the quiet variables, the code was moved into
> > > > Makefile.perf to be used globally. This was not the right solution. It
> > > > should have been moved even further upwards in the call chain.
> > > > Makefile.include is imported in many files so this seems like a proper
> > > > place to put it.
> > > >
> > > > To:
> > > >
> > > > Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
> > > > ---
> > > > Charlie Jenkins (2):
> > > >       tools: Unify top-level quiet infrastructure
> > > >       tools: Remove redundant quiet setup
> > > >
> > > >  tools/arch/arm64/tools/Makefile           |  6 -----
> > > >  tools/bpf/Makefile                        |  6 -----
> > > >  tools/bpf/bpftool/Documentation/Makefile  |  6 -----
> > > >  tools/bpf/bpftool/Makefile                |  6 -----
> > > >  tools/bpf/resolve_btfids/Makefile         |  2 --
> > > >  tools/bpf/runqslower/Makefile             |  5 +---
> > > >  tools/build/Makefile                      |  8 +-----
> > > >  tools/lib/bpf/Makefile                    | 13 ----------
> > >
> > > Nack.
> > > libbpf and bpftool are synced independently to github
> > > and released from there.
> > > This change breaks it.
>
> Sorry, I overlooked this part and merged a change that touched the
> common files into the perf tree.
>
> f2868b1a66d4f40f ("perf tools: Expose quiet/verbose variables in Makefile.perf")
>
> Unfortunately, it's already in v6.14-rc1.
>
> >
> > Can you explain how it breaks it? Currently bpftool and resolve_btfids
> > don't build quietly so this was an attempt to fix that.
>
> So I think you will need something like this for v6.14.  Again, sorry
> about the trouble.

Just revert f2868b1a66d4f40f that created this mess.
Charlie Jenkins Feb. 4, 2025, 11:24 p.m. UTC | #5
On Tue, Feb 04, 2025 at 11:02:42PM +0000, Alexei Starovoitov wrote:
> On Tue, Feb 4, 2025 at 7:04 PM Namhyung Kim <namhyung@kernel.org> wrote:
> >
> > Hello,
> >
> > On Tue, Feb 04, 2025 at 10:34:41AM -0800, Charlie Jenkins wrote:
> > > On Tue, Feb 04, 2025 at 05:18:42PM +0000, Alexei Starovoitov wrote:
> > > > On Tue, Feb 4, 2025 at 12:10 AM Charlie Jenkins <charlie@rivosinc.com> wrote:
> > > > >
> > > > > The quiet infrastructure was moved out of Makefile.build to accomidate
> > > > > the new syscall table generation scripts in perf. Syscall table
> > > > > generation wanted to also be able to be quiet, so instead of again
> > > > > copying the code to set the quiet variables, the code was moved into
> > > > > Makefile.perf to be used globally. This was not the right solution. It
> > > > > should have been moved even further upwards in the call chain.
> > > > > Makefile.include is imported in many files so this seems like a proper
> > > > > place to put it.
> > > > >
> > > > > To:
> > > > >
> > > > > Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
> > > > > ---
> > > > > Charlie Jenkins (2):
> > > > >       tools: Unify top-level quiet infrastructure
> > > > >       tools: Remove redundant quiet setup
> > > > >
> > > > >  tools/arch/arm64/tools/Makefile           |  6 -----
> > > > >  tools/bpf/Makefile                        |  6 -----
> > > > >  tools/bpf/bpftool/Documentation/Makefile  |  6 -----
> > > > >  tools/bpf/bpftool/Makefile                |  6 -----
> > > > >  tools/bpf/resolve_btfids/Makefile         |  2 --
> > > > >  tools/bpf/runqslower/Makefile             |  5 +---
> > > > >  tools/build/Makefile                      |  8 +-----
> > > > >  tools/lib/bpf/Makefile                    | 13 ----------
> > > >
> > > > Nack.
> > > > libbpf and bpftool are synced independently to github
> > > > and released from there.
> > > > This change breaks it.
> >
> > Sorry, I overlooked this part and merged a change that touched the
> > common files into the perf tree.
> >
> > f2868b1a66d4f40f ("perf tools: Expose quiet/verbose variables in Makefile.perf")
> >
> > Unfortunately, it's already in v6.14-rc1.
> >
> > >
> > > Can you explain how it breaks it? Currently bpftool and resolve_btfids
> > > don't build quietly so this was an attempt to fix that.
> >
> > So I think you will need something like this for v6.14.  Again, sorry
> > about the trouble.
> 
> Just revert f2868b1a66d4f40f that created this mess.

Why are you opposed to unifying this helpers among the various projects
in tools? Can you explain what about this breaks the Github syncing flow
and why it cannot be resolved? It doesn't make sense to duplicate "Q="
in every Makefile anybody ever wants to add to tools just because bpf
syncing isn't robust.

- Charlie