mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 12:57:53 +00:00
a2ded784cd
- Allow kernel trace instance creation to specify what events are created Inside the kernel, a subsystem may create a tracing instance that it can use to send events to user space. This sub-system may not care about the thousands of events that exist in eventfs. Allow the sub-system to specify what sub-systems of events it cares about, and only those events are exposed to this instance. - Allow the ring buffer to be broken up into bigger sub-buffers than just the architecture page size. A new tracefs file called "buffer_subbuf_size_kb" is created. The user can now specify a minimum size the sub-buffer may be in kilobytes. Note, that the implementation currently make the sub-buffer size a power of 2 pages (1, 2, 4, 8, 16, ...) but the user only writes in kilobyte size, and the sub-buffer will be updated to the next size that it will can accommodate it. If the user writes in 10, it will change the size to be 4 pages on x86 (16K), as that is the next available size that can hold 10K pages. - Update the debug output when a corrupt time is detected in the ring buffer. If the ring buffer detects inconsistent timestamps, there's a debug config options that will dump the contents of the meta data of the sub-buffer that is used for debugging. Add some more information to this dump that helps with debugging. - Add more timestamp debugging checks (only triggers when the config is enabled) - Increase the trace_seq iterator to 2 page sizes. - Allow strings written into tracefs_marker to be larger. Up to just under 2 page sizes (based on what trace_seq can hold). - Increase the trace_maker_raw write to be as big as a sub-buffer can hold. - Remove 32 bit time stamp logic, now that the rb_time_cmpxchg() has been removed. - More selftests were added. - Some code clean ups as well. -----BEGIN PGP SIGNATURE----- iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCZZ8p3BQccm9zdGVkdEBn b29kbWlzLm9yZwAKCRAp5XQQmuv6ql2GAQDZg/zlFEiJHyTfWbCIE8pA3T5xbzKo 26TNxIZAxJJZpQEAvGFU5Smy14pG6soEoVMp8B6ZOANbqU8VVamhOL+r+Qw= =0OYG -----END PGP SIGNATURE----- Merge tag 'trace-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace Pull tracing updates from Steven Rostedt: - Allow kernel trace instance creation to specify what events are created Inside the kernel, a subsystem may create a tracing instance that it can use to send events to user space. This sub-system may not care about the thousands of events that exist in eventfs. Allow the sub-system to specify what sub-systems of events it cares about, and only those events are exposed to this instance. - Allow the ring buffer to be broken up into bigger sub-buffers than just the architecture page size. A new tracefs file called "buffer_subbuf_size_kb" is created. The user can now specify a minimum size the sub-buffer may be in kilobytes. Note, that the implementation currently make the sub-buffer size a power of 2 pages (1, 2, 4, 8, 16, ...) but the user only writes in kilobyte size, and the sub-buffer will be updated to the next size that it will can accommodate it. If the user writes in 10, it will change the size to be 4 pages on x86 (16K), as that is the next available size that can hold 10K pages. - Update the debug output when a corrupt time is detected in the ring buffer. If the ring buffer detects inconsistent timestamps, there's a debug config options that will dump the contents of the meta data of the sub-buffer that is used for debugging. Add some more information to this dump that helps with debugging. - Add more timestamp debugging checks (only triggers when the config is enabled) - Increase the trace_seq iterator to 2 page sizes. - Allow strings written into tracefs_marker to be larger. Up to just under 2 page sizes (based on what trace_seq can hold). - Increase the trace_maker_raw write to be as big as a sub-buffer can hold. - Remove 32 bit time stamp logic, now that the rb_time_cmpxchg() has been removed. - More selftests were added. - Some code clean ups as well. * tag 'trace-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (29 commits) ring-buffer: Remove stale comment from ring_buffer_size() tracing histograms: Simplify parse_actions() function tracing/selftests: Remove exec permissions from trace_marker.tc test ring-buffer: Use subbuf_order for buffer page masking tracing: Update subbuffer with kilobytes not page order ringbuffer/selftest: Add basic selftest to test changing subbuf order ring-buffer: Add documentation on the buffer_subbuf_order file ring-buffer: Just update the subbuffers when changing their allocation order ring-buffer: Keep the same size when updating the order tracing: Stop the tracing while changing the ring buffer subbuf size tracing: Update snapshot order along with main buffer order ring-buffer: Make sure the spare sub buffer used for reads has same size ring-buffer: Do no swap cpu buffers if order is different ring-buffer: Clear pages on error in ring_buffer_subbuf_order_set() failure ring-buffer: Read and write to ring buffers with custom sub buffer size ring-buffer: Set new size of the ring buffer sub page ring-buffer: Add interface for configuring trace sub buffer size ring-buffer: Page size per ring buffer ring-buffer: Have ring_buffer_print_page_header() be able to access ring_buffer_iter ring-buffer: Check if absolute timestamp goes backwards ... |
||
---|---|---|
.. | ||
alsa | ||
amd-pstate | ||
arm64 | ||
bpf | ||
breakpoints | ||
cachestat | ||
capabilities | ||
cgroup | ||
clone3 | ||
connector | ||
core | ||
cpu-hotplug | ||
cpufreq | ||
damon | ||
dma | ||
dmabuf-heaps | ||
drivers | ||
dt | ||
efivarfs | ||
exec | ||
fchmodat2 | ||
filelock | ||
filesystems | ||
firmware | ||
fpu | ||
ftrace | ||
futex | ||
gpio | ||
hid | ||
ia64 | ||
intel_pstate | ||
iommu | ||
ipc | ||
ir | ||
kcmp | ||
kexec | ||
kmod | ||
kselftest | ||
kvm | ||
landlock | ||
lib | ||
livepatch | ||
lkdtm | ||
locking | ||
lsm | ||
media_tests | ||
membarrier | ||
memfd | ||
memory-hotplug | ||
mincore | ||
mm | ||
mount | ||
mount_setattr | ||
move_mount_set_group | ||
mqueue | ||
nci | ||
net | ||
netfilter | ||
nolibc | ||
nsfs | ||
ntb | ||
openat2 | ||
perf_events | ||
pid_namespace | ||
pidfd | ||
powerpc | ||
prctl | ||
proc | ||
pstore | ||
ptp | ||
ptrace | ||
rcutorture | ||
resctrl | ||
riscv | ||
rlimits | ||
rseq | ||
rtc | ||
safesetid | ||
sched | ||
seccomp | ||
sgx | ||
sigaltstack | ||
size | ||
sparc64 | ||
splice | ||
static_keys | ||
sync | ||
syscall_user_dispatch | ||
sysctl | ||
tc-testing | ||
tdx | ||
thermal/intel | ||
timens | ||
timers | ||
tmpfs | ||
tpm2 | ||
tty | ||
uevent | ||
user | ||
user_events | ||
vDSO | ||
watchdog | ||
wireguard | ||
x86 | ||
zram | ||
.gitignore | ||
gen_kselftest_tar.sh | ||
kselftest.h | ||
kselftest_deps.sh | ||
kselftest_harness.h | ||
kselftest_install.sh | ||
kselftest_module.h | ||
lib.mk | ||
Makefile | ||
run_kselftest.sh |