1. 29 Mar, 2023 4 commits
    • Steven Rostedt (Google)'s avatar
      tracing: Add "fields" option to show raw trace event fields · 80a76994
      Steven Rostedt (Google) authored
      The hex, raw and bin formats come from the old PREEMPT_RT patch set
      latency tracer. That actually gave real alternatives to reading the ascii
      buffer. But they have started to bit rot and they do not give a good
      representation of the tracing data.
      
      Add "fields" option that will read the trace event fields and parse the
      data from how the fields are defined:
      
      With "fields" = 0 (default)
      
       echo 1 > events/sched/sched_switch/enable
       cat trace
               <idle>-0       [003] d..2.   540.078653: sched_switch: prev_comm=swapper/3 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=kworker/3:1 next_pid=83 next_prio=120
           kworker/3:1-83      [003] d..2.   540.078860: sched_switch: prev_comm=kworker/3:1 prev_pid=83 prev_prio=120 prev_state=I ==> next_comm=swapper/3 next_pid=0 next_prio=120
                <idle>-0       [003] d..2.   540.206423: sched_switch: prev_comm=swapper/3 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=sshd next_pid=807 next_prio=120
                  sshd-807     [003] d..2.   540.206531: sched_switch: prev_comm=sshd prev_pid=807 prev_prio=120 prev_state=S ==> next_comm=swapper/3 next_pid=0 next_prio=120
                <idle>-0       [001] d..2.   540.206597: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=kworker/u16:4 next_pid=58 next_prio=120
         kworker/u16:4-58      [001] d..2.   540.206617: sched_switch: prev_comm=kworker/u16:4 prev_pid=58 prev_prio=120 prev_state=I ==> next_comm=bash next_pid=830 next_prio=120
                  bash-830     [001] d..2.   540.206678: sched_switch: prev_comm=bash prev_pid=830 prev_prio=120 prev_state=R ==> next_comm=kworker/u16:4 next_pid=58 next_prio=120
         kworker/u16:4-58      [001] d..2.   540.206696: sched_switch: prev_comm=kworker/u16:4 prev_pid=58 prev_prio=120 prev_state=I ==> next_comm=bash next_pid=830 next_prio=120
                  bash-830     [001] d..2.   540.206713: sched_switch: prev_comm=bash prev_pid=830 prev_prio=120 prev_state=R ==> next_comm=kworker/u16:4 next_pid=58 next_prio=120
      
       echo 1 > options/fields
                 <...>-998     [002] d..2.   538.643732: sched_switch: next_prio=0x78 (120) next_pid=0x0 (0) next_comm=swapper/2 prev_state=0x20 (32) prev_prio=0x78 (120) prev_pid=0x3e6 (998) prev_comm=trace-cmd
                <idle>-0       [001] d..2.   538.643806: sched_switch: next_prio=0x78 (120) next_pid=0x33e (830) next_comm=bash prev_state=0x0 (0) prev_prio=0x78 (120) prev_pid=0x0 (0) prev_comm=swapper/1
                  bash-830     [001] d..2.   538.644106: sched_switch: next_prio=0x78 (120) next_pid=0x3a (58) next_comm=kworker/u16:4 prev_state=0x0 (0) prev_prio=0x78 (120) prev_pid=0x33e (830) prev_comm=bash
         kworker/u16:4-58      [001] d..2.   538.644130: sched_switch: next_prio=0x78 (120) next_pid=0x33e (830) next_comm=bash prev_state=0x80 (128) prev_prio=0x78 (120) prev_pid=0x3a (58) prev_comm=kworker/u16:4
                  bash-830     [001] d..2.   538.644180: sched_switch: next_prio=0x78 (120) next_pid=0x3a (58) next_comm=kworker/u16:4 prev_state=0x0 (0) prev_prio=0x78 (120) prev_pid=0x33e (830) prev_comm=bash
         kworker/u16:4-58      [001] d..2.   538.644185: sched_switch: next_prio=0x78 (120) next_pid=0x33e (830) next_comm=bash prev_state=0x80 (128) prev_prio=0x78 (120) prev_pid=0x3a (58) prev_comm=kworker/u16:4
                  bash-830     [001] d..2.   538.644204: sched_switch: next_prio=0x78 (120) next_pid=0x0 (0) next_comm=swapper/1 prev_state=0x1 (1) prev_prio=0x78 (120) prev_pid=0x33e (830) prev_comm=bash
                <idle>-0       [003] d..2.   538.644211: sched_switch: next_prio=0x78 (120) next_pid=0x327 (807) next_comm=sshd prev_state=0x0 (0) prev_prio=0x78 (120) prev_pid=0x0 (0) prev_comm=swapper/3
                  sshd-807     [003] d..2.   538.644340: sched_switch: next_prio=0x78 (120) next_pid=0x0 (0) next_comm=swapper/3 prev_state=0x1 (1) prev_prio=0x78 (120) prev_pid=0x327 (807) prev_comm=sshd
      
      It traces the data safely without using the trace print formatting.
      
      Link: https://lore.kernel.org/linux-trace-kernel/20230328145156.497651be@gandalf.local.home
      
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Beau Belgrave <beaub@linux.microsoft.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      80a76994
    • Ross Zwisler's avatar
      tools/kvm_stat: use canonical ftrace path · c2f92e8b
      Ross Zwisler authored
      The canonical location for the tracefs filesystem is at /sys/kernel/tracing.
      
      But, from Documentation/trace/ftrace.rst:
      
        Before 4.1, all ftrace tracing control files were within the debugfs
        file system, which is typically located at /sys/kernel/debug/tracing.
        For backward compatibility, when mounting the debugfs file system,
        the tracefs file system will be automatically mounted at:
      
        /sys/kernel/debug/tracing
      
      A comment in kvm_stat still refers to this older debugfs path, so let's
      update it to avoid confusion.
      
      Link: https://lkml.kernel.org/r/20230313211746.1541525-3-zwisler@kernel.org
      
      Cc: "Tobin C. Harding" <me@tobin.cc>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Shuah Khan <shuah@kernel.org>
      Cc: Tycho Andersen <tycho@tycho.pizza>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      Reviewed-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Signed-off-by: default avatarRoss Zwisler <zwisler@google.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      c2f92e8b
    • Ross Zwisler's avatar
      leaking_addresses: also skip canonical ftrace path · d1c27c55
      Ross Zwisler authored
      The canonical location for the tracefs filesystem is at /sys/kernel/tracing.
      
      But, from Documentation/trace/ftrace.rst:
      
        Before 4.1, all ftrace tracing control files were within the debugfs
        file system, which is typically located at /sys/kernel/debug/tracing.
        For backward compatibility, when mounting the debugfs file system,
        the tracefs file system will be automatically mounted at:
      
        /sys/kernel/debug/tracing
      
      scripts/leaking_addresses.pl only skipped this older debugfs path, so
      let's add the canonical path as well.
      
      Link: https://lkml.kernel.org/r/20230313211746.1541525-2-zwisler@kernel.org
      
      Cc: "Tobin C. Harding" <me@tobin.cc>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Acked-by: default avatarTycho Andersen <tycho@tycho.pizza>
      Reviewed-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      Signed-off-by: default avatarRoss Zwisler <zwisler@google.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      d1c27c55
    • Ross Zwisler's avatar
      selftests: use canonical ftrace path · 4336cc15
      Ross Zwisler authored
      The canonical location for the tracefs filesystem is at /sys/kernel/tracing.
      
      But, from Documentation/trace/ftrace.rst:
      
        Before 4.1, all ftrace tracing control files were within the debugfs
        file system, which is typically located at /sys/kernel/debug/tracing.
        For backward compatibility, when mounting the debugfs file system,
        the tracefs file system will be automatically mounted at:
      
        /sys/kernel/debug/tracing
      
      A few spots in tools/testing/selftests still refer to this older debugfs
      path, so let's update them to avoid confusion.
      
      Link: https://lkml.kernel.org/r/20230313211746.1541525-1-zwisler@kernel.org
      
      Cc: "Tobin C. Harding" <me@tobin.cc>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Cc: Tycho Andersen <tycho@tycho.pizza>
      Reviewed-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      Reviewed-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Signed-off-by: default avatarRoss Zwisler <zwisler@google.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      4336cc15
  2. 28 Mar, 2023 7 commits
  3. 21 Mar, 2023 11 commits
  4. 19 Mar, 2023 16 commits
  5. 18 Mar, 2023 2 commits
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · a3671bd8
      Linus Torvalds authored
      Pull fbdev fixes from Helge Deller:
       "The majority of lines changed is due to a code style cleanup in the
        pnmtologo helper program.
      
        Arnd removed the omap1 osk driver and the SIS fb driver is now
        orphaned.
      
        Other than that it's the usual bunch of small fixes and cleanups, e.g.
        prevent possible divide-by-zero in various fb drivers if the pixclock
        is zero and various conversions to devm_platform*() and of_property*()
        functions:
      
         - Drop omap1 osk driver
      
         - Various potential divide by zero pixclock fixes
      
         - Add pixelclock and fb_check_var() to stifb
      
         - Code style cleanups and indenting fixes"
      
      * tag 'fbdev-for-6.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        fbdev: Use of_property_present() for testing DT property presence
        fbdev: au1200fb: Fix potential divide by zero
        fbdev: lxfb: Fix potential divide by zero
        fbdev: intelfb: Fix potential divide by zero
        fbdev: nvidia: Fix potential divide by zero
        fbdev: stifb: Provide valid pixelclock and add fb_check_var() checks
        fbdev: omapfb: remove omap1 osk driver
        fbdev: xilinxfb: Use devm_platform_get_and_ioremap_resource()
        fbdev: wm8505fb: Use devm_platform_ioremap_resource()
        fbdev: pxa3xx-gcu: Use devm_platform_get_and_ioremap_resource()
        fbdev: Use of_property_read_bool() for boolean properties
        fbdev: clps711x-fb: Use devm_platform_get_and_ioremap_resource()
        fbdev: tgafb: Fix potential divide by zero
        MAINTAINERS: orphan SIS FRAMEBUFFER DRIVER
        fbdev: omapfb: cleanup inconsistent indentation
        drivers: video: logo: add SPDX comment, remove GPL notice in pnmtologo.c
        drivers: video: logo: fix code style issues in pnmtologo.c
      a3671bd8
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.3' of... · 53429336
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Exclude kallsyms_seqs_of_names from kallsyms to fix build error
      
       - Fix 'make kernelrelease' for external module builds
      
       - Get the Debian source package compilable again
      
       - Fix the wrong uname when Debian packages are built with the
         KDEB_PKGVERSION option
      
       - Fix superfluous CROSS_COMPILE when building Debian packages
      
       - Fix RPM package build error when KCONFIG_CONFIG is set
      
       - Use 'git archive' for creating source tarballs
      
       - Remove the scripts/list-gitignored tool
      
      * tag 'kbuild-fixes-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: use git-archive for source package creation
        kbuild: rpm-pkg: move source components to rpmbuild/SOURCES
        kbuild: deb-pkg: use dh_listpackages to know enabled packages
        kbuild: deb-pkg: split image and debug objects staging out into functions
        kbuild: deb-pkg: set CROSS_COMPILE only when undefined
        kbuild: deb-pkg: do not take KERNELRELEASE from the source version
        kbuild: deb-pkg: make debian source package working again
        Makefile: Make kernelrelease target work with M=
        kconfig: Update config changed flag before calling callback
        kallsyms: add kallsyms_seqs_of_names to list of special symbols
      53429336