https://bugzilla.redhat.com/show_bug.cgi?id=2084228
Bug ID: 2084228 Summary: Review Request: rtla - Real-Time Linux Analysis tools Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: jkacur@redhat.com QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://jkacur.fedorapeople.org/rtla.spec
SRPM URL: https://jkacur.fedorapeople.org/rtla-5.17.0-4.fc36.src.rpm
Description: The rtla tool is a meta-tool that includes a set of commands that aims to analyze the real-time properties of Linux. But, instead of testing Linux as a black box, rtla leverages kernel tracing capabilities to provide precise information about the properties and root causes of unexpected results.
Fedora Account System Username: jkacur
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #1 from John Kacur jkacur@redhat.com --- New SRPM URL: https://jkacur.fedorapeople.org/rtla-5.17.0-5.fc36.src.rpm
This version fixes some rpmlint warnings
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
Jiri Kastner cz172638@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cz172638@gmail.com Assignee|nobody@fedoraproject.org |cz172638@gmail.com
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #2 from Jiri Kastner cz172638@gmail.com --- rtla.spec: W: invalid-url Source0: rtla-5.17.0.tar.bz2
hardcoded version in Source0 missing url in source0
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #3 from Jiri Kastner cz172638@gmail.com --- as rtla is part of kernel, what about filing bug against kernel-tools package, where belongs perf, which looks like same case?
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
Daniel Bristot de Oliveira daolivei@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |daolivei@redhat.com
--- Comment #4 from Daniel Bristot de Oliveira daolivei@redhat.com --- rtla was created following the same idea of perf. It is a tool strictly connected with the kernel, so it is part of it. But it is significant enough to have its own package. I think that bpftool follows the same model. We have use cases for the tool that would not like to benefit from the "Assortment of tools for the Linux kernel" of the kernel-tools package.
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #6 from John Kacur jkacur@redhat.com --- Hi Jiri
We discussed it with the team, and there are a number of reasons that we wish to keep it separate from the subpackages in kernel-tools I won't list them all, but a few important ones. 1. kernel-tools is a group of tools related to each other, bpf, bpf libraries and perf, while rtla is separate unrelated tool from the ones in kernel-tools 2. We which to maintain control of the rtla build separate from the kernel version. - It might not be necessary to provide a new build of rtla everytime the kernel updates - We might wish to provide rtla builds in-between kernel updates - We will be backporting rtla to older kernels as well
So, I will be looking into a method of providing an acceptable Source0 for the specfile
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #7 from Daniel Bristot de Oliveira daolivei@redhat.com --- So, by kernel-tools, are you guys mentioning being part of the kernel-tools package or kernel-tools group of packages, i.e., I still can do "# dnf install rtla"?
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
John Kacur jkacur@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(jforbes@redhat.co | |m)
--- Comment #9 from John Kacur jkacur@redhat.com --- @jforbes@redhat.com We were wondering with the kernel-tools package, does the maintainer of kernel-tools have to manually add the kernel source every time a new version of the kernel is available, or are there some kind of hooks that do this for you?
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #10 from Jiri Kastner cz172638@gmail.com --- (In reply to Daniel Bristot de Oliveira from comment #7)
So, by kernel-tools, are you guys mentioning being part of the kernel-tools package or kernel-tools group of packages, i.e., I still can do "# dnf install rtla"?
[root@b1e1fe9f2813 /]# dnf info bpftool perf Last metadata expiration check: 0:01:53 ago on Thu May 19 06:04:19 2022. Available Packages Name : bpftool Version : 5.17.6 Release : 300.fc36 Architecture : x86_64 Size : 810 k Source : kernel-tools-5.17.6-300.fc36.src.rpm Repository : updates Summary : Inspection and simple manipulation of eBPF programs and maps URL : http://www.kernel.org/ License : GPLv2 Description : This package contains the bpftool, which allows inspection and simple : manipulation of eBPF programs and maps.
Name : perf Version : 5.17.6 Release : 300.fc36 Architecture : x86_64 Size : 2.4 M Source : kernel-tools-5.17.6-300.fc36.src.rpm Repository : updates Summary : Performance monitoring for the Linux kernel URL : http://www.kernel.org/ License : GPLv2 Description : This package contains the perf tool, which enables performance monitoring : of the Linux kernel. [root@b1e1fe9f2813 /]# dnf install bpftool Last metadata expiration check: 0:03:19 ago on Thu May 19 06:04:19 2022. Dependencies resolved. ======================================================================================================================================================================================================================================================================================================================= Package Architecture Version Repository Size ======================================================================================================================================================================================================================================================================================================================= Installing: bpftool x86_64 5.17.6-300.fc36 updates 810 k
Transaction Summary ======================================================================================================================================================================================================================================================================================================================= Install 1 Package
Total download size: 810 k Installed size: 2.8 M Is this ok [y/N]: n Operation aborted. [root@b1e1fe9f2813 /]# dnf install perf Last metadata expiration check: 0:03:34 ago on Thu May 19 06:04:19 2022. Dependencies resolved. ======================================================================================================================================================================================================================================================================================================================= Package Architecture Version Repository Size ======================================================================================================================================================================================================================================================================================================================= Installing: perf x86_64 5.17.6-300.fc36 updates 2.4 M Installing dependencies: bzip2 x86_64 1.0.8-11.fc36 fedora 52 k groff-base x86_64 1.22.4-9.fc36 fedora 1.0 M libbabeltrace x86_64 1.5.8-9.fc36 fedora 189 k libbpf x86_64 2:0.7.0-3.fc36 updates 159 k ncurses x86_64 6.2-9.20210508.fc36 fedora 400 k numactl-libs x86_64 2.0.14-5.fc36 fedora 30 k perl-AutoLoader noarch 5.74-486.fc36 fedora 26 k perl-B x86_64 1.82-486.fc36 fedora 185 k perl-Carp noarch 1.52-479.fc36 fedora 29 k perl-Class-Struct noarch 0.66-486.fc36 fedora 27 k perl-Data-Dumper x86_64 2.183-3.fc36 fedora 56 k perl-Digest noarch 1.20-2.fc36 fedora 25 k perl-Digest-MD5 x86_64 2.58-479.fc36 fedora 36 k perl-DynaLoader x86_64 1.50-486.fc36 fedora 31 k perl-Encode x86_64 4:3.17-485.fc36 updates 1.7 M perl-Errno x86_64 1.33-486.fc36 fedora 20 k perl-Exporter noarch 5.76-480.fc36 fedora 31 k perl-Fcntl x86_64 1.14-486.fc36 fedora 25 k perl-File-Basename noarch 2.85-486.fc36 fedora 22 k perl-File-Path noarch 2.18-479.fc36 fedora 35 k perl-File-Temp noarch 1:0.231.100-479.fc36 fedora 59 k perl-File-stat noarch 1.09-486.fc36 fedora 22 k perl-FileHandle noarch 2.03-486.fc36 fedora 20 k perl-Getopt-Long noarch 1:2.52-479.fc36 fedora 60 k perl-Getopt-Std noarch 1.13-486.fc36 fedora 21 k perl-HTTP-Tiny noarch 0.080-2.fc36 fedora 55 k perl-IO x86_64 1.46-486.fc36 fedora 92 k perl-IO-Socket-IP noarch 0.41-480.fc36 fedora 42 k perl-IPC-Open3 noarch 1.21-486.fc36 fedora 28 k perl-MIME-Base64 ......
so yes, perf and bpftool are part of kernel-tools, which are not updated with every new kernel release, only when there is change in perf/bpftool and so on:
[root@b1e1fe9f2813 /]# dnf provides kernel-core Last metadata expiration check: 0:40:36 ago on Thu May 19 06:04:19 2022. kernel-core-5.17.5-300.fc36.x86_64 : The Linux kernel Repo : fedora Matched from: Provide : kernel-core = 5.17.5-300.fc36
kernel-core-5.17.7-300.fc36.x86_64 : The Linux kernel Repo : updates Matched from: Provide : kernel-core = 5.17.7-300.fc36
[root@b1e1fe9f2813 /]# dnf provides bpftool Last metadata expiration check: 0:40:41 ago on Thu May 19 06:04:19 2022. bpftool-5.17.0-300.fc36.x86_64 : Inspection and simple manipulation of eBPF programs and maps Repo : fedora Matched from: Provide : bpftool = 5.17.0-300.fc36
bpftool-5.17.6-300.fc36.x86_64 : Inspection and simple manipulation of eBPF programs and maps Repo : updates Matched from: Provide : bpftool = 5.17.6-300.fc36
[root@b1e1fe9f2813 /]# dnf provides perf Last metadata expiration check: 0:40:44 ago on Thu May 19 06:04:19 2022. perf-5.17.0-300.fc36.x86_64 : Performance monitoring for the Linux kernel Repo : fedora Matched from: Provide : perf = 5.17.0-300.fc36
perf-5.17.6-300.fc36.x86_64 : Performance monitoring for the Linux kernel Repo : updates Matched from: Provide : perf = 5.17.6-300.fc36
each has own dependencies, not depend each other, perf depends on libbpf which is on github, while bpftool not. i assume backports are for rhel, which usually has (had) own way for packaging kernel/perf/etc.
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
Justin M. Forbes jforbes@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(jforbes@redhat.co | |m) |
--- Comment #11 from Justin M. Forbes jforbes@redhat.com --- (In reply to John Kacur from comment #9)
@jforbes@redhat.com We were wondering with the kernel-tools package, does the maintainer of kernel-tools have to manually add the kernel source every time a new version of the kernel is available, or are there some kind of hooks that do this for you?
Yes, on the Fedora side of things, kernel-tools is maintained as a completely separate package and not as part of the kernel itself. I do handle it manually. There was a valid reason for the split quite some time ago, though that reasoning is slightly less valid these days, and I may fold it back into kernel. Either way, the resulting rpms would not change. For a build schedule, rawhide builds kernels tools with every linus rc release, but not with the daily git snapshots. For stable fedora releases, I build it for whatever version is being used to rebase the releases, and then only rebuild when there are changes in stable updates which require it, so not with every release. As rtla is a part of the upstream kernel tarball, it would make more sense just to add it as a subpackage.
From a RHEL standpoint, kernel-tools subpackages are in the kernel spec, and built with every kernel. Again, it could easily be added as a subpackage there with an MR to kernel-ark (and I typically backport kernel-tools changes made to ark directly to kernel-tools in fedora as well).
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #12 from Justin M. Forbes jforbes@redhat.com --- Looks like I missed part of the context there, but I did go ahead and create an rtla subpackage to kernel-tools for Fedora, this is likely all that is needed for Fedora considering we are very current with upstream. Rawhide is the linus tree, with tools built every rc release and stable fedora releases follow Greg's stable tree, and rebase fairly early. The 5.18.0 kernel release was just over 2 weeks ago, and stable Fedora will likely rebase to 5.18.x next week.
rpm -qlp kernel-tools/x86_64/rtla-5.19.0-0.rc1.git0.1.fc37.x86_64.rpm /usr/bin/osnoise /usr/bin/rtla /usr/bin/timerlat /usr/lib/.build-id /usr/lib/.build-id/85/40b159a50de5a859b3168a9ee0f992fe546c40 /usr/share/man/man1/rtla-osnoise-hist.1.gz /usr/share/man/man1/rtla-osnoise-top.1.gz /usr/share/man/man1/rtla-osnoise.1.gz /usr/share/man/man1/rtla-timerlat-hist.1.gz /usr/share/man/man1/rtla-timerlat-top.1.gz /usr/share/man/man1/rtla-timerlat.1.gz /usr/share/man/man1/rtla.1.gz
A koji scratch build is available at: https://koji.fedoraproject.org/koji/taskinfo?taskID=88036372
If you like that, it could show up in the rc2 kernel-tools build on Monday, and in F35/36 with the 5.18 rebases next week.
As for managing the sources, it is rather done by hand. The upstream kernel tarball is downloaded and signature checked against kernel.org. Every stable update built or rc1 update is patch download from kernel.org, and included separately to the release kernel tarball:
cat sources SHA512 (linux-5.18.tar.xz) = dbbc9d1395898a498fa4947fceda1781344fa5d360240f753810daa4fa88e519833e2186c4e582a8f1836e6413e9e85f6563c7770523b704e8702d67622f98b5 SHA512 (patch-5.19-rc1.xz) = 13952b8122f96698877f2da5ba3a3d155659f4ea7b651eac66f05627d96046665790dcbf3250e3a8567f286feccc5ef2143821ecd63d07023b8655a52716faec
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #13 from John Kacur jkacur@redhat.com --- Note, Justin and I have agreed to go forward with making rtla a subpackage of kernel-tools
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #14 from Jiri Kastner cz172638@gmail.com --- can you please backport it to 5.18? :)
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #15 from Jiri Kastner cz172638@gmail.com --- (In reply to Jiri Kastner from comment #14)
can you please backport it to 5.18? :)
not yet having glasses for reading - i missed rebase note :)
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Flags| |fedora-review?
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
--- Comment #16 from Justin M. Forbes jforbes@redhat.com --- It is in the 5.18 kernel-tools for f36. It is not present for F35 because one of the builddeps is too out of date. If those are updated, I am happy to add it to the next build. It is also currently in rawhide and the merge request to add it to ELN/kernel-ark is https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1901
https://bugzilla.redhat.com/show_bug.cgi?id=2084228
Jiri Kastner cz172638@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |WONTFIX Status|ASSIGNED |CLOSED Last Closed| |2022-07-01 09:53:54
--- Comment #17 from Jiri Kastner cz172638@gmail.com --- (In reply to Justin M. Forbes from comment #16)
It is in the 5.18 kernel-tools for f36. It is not present for F35 because one of the builddeps is too out of date. If those are updated, I am happy to add it to the next build. It is also currently in rawhide and the merge request to add it to ELN/kernel-ark is https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1901
that's fine, i'll upgrade to 36 :)
closing as it is not valid anymore for review
package-review@lists.fedoraproject.org