| Age | Commit message (Collapse) | Author |
|
cachestat(2) had no integration coverage. Add a readwrite-cachestat
ioworkload scenario and TestReadwriteCachestat mirroring the readahead
precedent: open a temp file, write data to populate the page cache, then
issue cachestat via a raw syscall (no glibc/unix wrapper) with a whole-file
cachestat_range and zeroed cachestat output buffer, flags=0. ENOSYS on
kernels < 6.5 is tolerated for portability.
The test asserts enter_cachestat is captured with the fd-resolved file
path, that the UNCLASSIFIED return attributes zero bytes, and that the
syscall duration is positive. golang.org/x/sys is promoted to a direct
dependency. Verified PASS under sudo on kernel 7.0.9.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
This reverts commit 66956756ba018ed32a455aa57f04517af2c7357f.
|
|
The libbpfgo RingBuffer.Poll() previously launched a background goroutine
that could fail with a fatal C-level errno (e.g. EBADF, EPERM) and silently
exit, causing BPF events to stop flowing with no diagnostic.
Changes:
- Patch ../libbpfgo (replace directive) so RingBuffer.Poll() returns a
buffered <-chan error that the background goroutine sends to on failure.
- In setupEventChannel, capture the error channel and spawn a monitoring
goroutine that logs any poll error to stderr.
- Update go.mod with the replace directive and drop the now-unused remote
checksum entries from go.sum.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019c7f4e-cc5f-76f1-aaf0-dd7cbaabbb18
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
|
|
|
|
|
|
|
|
|