Conversation
packages/cri-tools/cri-tools.spec
Outdated
| %set_cross_go_flags | ||
| export GO_MAJOR="1.25" | ||
| go build -ldflags="${GOLDFLAGS}" -o crictl ./cmd/crictl | ||
| gofips build -ldflags="${GOLDFLAGS}" -o fips/crictl ./cmd/crictl |
There was a problem hiding this comment.
Should we avoid the second compilation in prep of:
There was a problem hiding this comment.
Should we avoid the second compilation in prep of:
Depends on who merges first 😀
| NO_LIBZSTD=1 \ | ||
| NO_LZMA=1 \ |
There was a problem hiding this comment.
I'm curious, why not enabling the compression support for perf but it was enabled forerofs-utils? Is it to match the EROFS compression enabled in the kernel?
There was a problem hiding this comment.
I'm curious, why not enabling the compression support for perf but it was enabled for erofs-utils? Is it to match the EROFS compression enabled in the kernel?
perf can use libzstd to compress traces, which sounds useful although I've never used it.
LZMA is for xz-compressed kernel modules, which we don't use.
| EXTRA_CFLAGS="%{_cross_cflags} -fno-lto" \ | ||
| EXTRA_CXXFLAGS="%{_cross_cxxflags} -fno-lto" \ |
There was a problem hiding this comment.
Out of curiosity, why not enabling lto for perf?
There was a problem hiding this comment.
Out of curiosity, why not enabling lto for perf?
The perf package started life as sub-packages of kernel-6.1 and kernel-6.12, though ultimately I needed the libelf dependency to get traces with symbol names, and that ended up being too much userspace to package in the kernel kit.
During that time, I kept running into LTO-related build issues. Sometimes they'd be fixed upstream but not backported, or affect one kernel but not the other. Disabling LTO made the pain go away.
With the move into the core kit, the package now tracks current kernel releases, so in theory there are no more LTO problems. But I haven't gone back to test that, and I have a lingering concern that the minor performance win might not be worth the upkeep effort.
packages/perf/Cargo.toml
Outdated
| path = "../packages.rs" | ||
|
|
||
| [[package.metadata.build-package.external-files]] | ||
| url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.8.tar.xz" |
There was a problem hiding this comment.
nit: linux-6.18.9 exists seems it has 1 perf related commit callout.
Signed-off-by: Ben Cressey <bcressey@amazon.com>
462a739 to
c58925f
Compare
|
⬆️ force push to rebase for Go package changes |
This provides the `crictl` command for testing CRI interactions. Signed-off-by: Ben Cressey <bcressey@amazon.com>
Signed-off-by: Ben Cressey <bcressey@amazon.com>
c58925f to
b981abb
Compare
|
⬆️ force push:
|
Issue number:
N/A
Description of changes:
I've carried these packages in my local tree for a while; they all seem like useful additions.
erofs-utils- I'd like to switch over to the erofs snapshotter for containerd at some point, or make that a configurable option.cri-tools-crictlis useful to exercise containerd's CRI interface specifically. Can be updated when we add a newkubeletpackage.perf-perfis essential for profiling performance. Can be updated when we add a new kernel.Testing done:
perf top works
crictl can pull and inspect images
mkfs.erofs works when invoked by the containerd erofs snapshotter
Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.