# git rev-parse -q --verify 8b817fded42d8fe3a0eb47b1149d907851a3c942^{commit} 8b817fded42d8fe3a0eb47b1149d907851a3c942 already have revision, skipping fetch # git checkout -q -f -B kisskb 8b817fded42d8fe3a0eb47b1149d907851a3c942 # git clean -qxdf # < git log -1 # commit 8b817fded42d8fe3a0eb47b1149d907851a3c942 # Merge: 7a6c8e512fa0 a2d910f02231 # Author: Linus Torvalds # Date: Mon May 29 07:20:13 2023 -0400 # # Merge tag 'trace-v6.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace # # Pull tracing fixes from Steven Rostedt: # "User events: # # - Use long instead of int for storing the enable set/clear bit, as it # was found that big endian machines could end up using the wrong # bits. # # - Split allocating mm and attaching it. This keeps the allocation # separate from the registration and avoids various races. # # - Remove RCU locking around pin_user_pages_remote() as that can # schedule. The RCU protection is no longer needed with the above # split of mm allocation and attaching. # # - Rename the "link" fields of the various structs to something more # meaningful. # # - Add comments around user_event_mm struct usage and locking # requirements. # # Timerlat tracer: # # - Fix missed wakeup of timerlat thread caused by the timerlat # interrupt triggering when tracing is off. The timer interrupt # handler needs to always wake up the timerlat thread regardless if # tracing is enabled or not, otherwise, it will never wake up. # # Histograms: # # - Fix regression of breaking the "stacktrace" modifier for variables. # That modifier cannot be used for values, but can be used for # variables that are passed from one histogram to the next. This was # broken when adding the restriction to values as the variable logic # used the same code. # # - Rename the special field "stacktrace" to "common_stacktrace". # # Special fields (that are not actually part of the event, but can # act just like event fields, like 'comm' and 'timestamp') should be # prefixed with 'common_' for consistency. To keep backward # compatibility, 'stacktrace' can still be used (as with the special # field 'cpu'), but can be overridden if the event has a field called # 'stacktrace'. # # - Update the synthetic event selftests to use the new name (synthetic # events are created by histograms) # # Tracing bootup selftests: # # - Reorganize the code to keep artifacts of the selftests not compiled # in when selftests are not configured. # # - Add various cond_resched() around the selftest code, as the # softlock watchdog was triggering much more often. It appears that # the kernel runs slower now with full debugging enabled. # # - While debugging ftrace with ftrace (using an instance ring buffer # instead of the top level one), I found that the selftests were # disabling prints to the debug instance. # # This should not happen, as the selftests only disable printing to # the main buffer as the selftests examine the main buffer to see if # it has what it expects, and prints can make the tests fail. # # Make the selftests only disable printing to the toplevel buffer, # and leave the instance buffers alone" # # * tag 'trace-v6.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: # tracing: Have function_graph selftest call cond_resched() # tracing: Only make selftest conditionals affect the global_trace # tracing: Make tracing_selftest_running/delete nops when not used # tracing: Have tracer selftests call cond_resched() before running # tracing: Move setting of tracing_selftest_running out of register_tracer() # tracing/selftests: Update synthetic event selftest to use common_stacktrace # tracing: Rename stacktrace field to common_stacktrace # tracing/histograms: Allow variables to have some modifiers # tracing/user_events: Document user_event_mm one-shot list usage # tracing/user_events: Rename link fields for clarity # tracing/user_events: Remove RCU lock while pinning pages # tracing/user_events: Split up mm alloc and attach # tracing/timerlat: Always wakeup the timerlat thread # tracing/user_events: Use long vs int for atomic bit ops # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 8b817fded42d8fe3a0eb47b1149d907851a3c942 # < make -s -j 32 ARCH=x86 O=/kisskb/build/linus_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/x86_64-linux/bin/x86_64-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig # < make -s -j 32 ARCH=x86 O=/kisskb/build/linus_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 32 ARCH=x86 O=/kisskb/build/linus_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 32 ARCH=x86 O=/kisskb/build/linus_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/linus_x86-allmodconfig_x86_64-gcc11 # Build took: 0:26:20.788003