Skip to content
  1. Sep 10, 2021
  2. Sep 09, 2021
  3. Sep 08, 2021
  4. Sep 04, 2021
    • Thomas Gleixner's avatar
      tracing: Add migrate-disabled counter to tracing output. · 54357f0c
      Thomas Gleixner authored
      migrate_disable() forbids task migration to another CPU. It is available
      since v5.11 and has already users such as highmem or BPF. It is useful
      to observe this task state in tracing which already has other states
      like the preemption counter.
      
      Instead of adding the migrate disable counter as a new entry to struct
      trace_entry, which would extend the whole struct by four bytes, it is
      squashed into the preempt-disable counter. The lower four bits represent
      the preemption counter, the upper four bits represent the migrate
      disable counter. Both counter shouldn't exceed 15 but if they do, there
      is a safety net which caps the value at 15.
      
      Add the migrate-disable counter to the trace entry so it shows up in the
      trace. Due to the users mentioned above, it is already possible to
      observe it:
      
      |  bash-1108    [000] ...21    73.950578: rss_stat: mm_id=2213312838 curr=0 type=MM_ANONPAGES size=8192B
      |  bash-1108    [000] d..31    73.951222: irq_disable: caller=flush_tlb_mm_range+0x115/0x130 parent=ptep_clear_flush+0x42/0x50
      |  bash-1108    [000] d..31    73.951222: tlb_flush: pages:1 reason:local mm shootdown (3)
      
      The last value is the migrate-disable counter.
      
      Things that popped up:
      - trace_print_lat_context() does not print the migrate counter. Not sure
        if it should. It is used in "verbose" mode and uses 8 digits and I'm
        not sure ther is something processing the value.
      
      - trace_define_common_fields() now defines a different variable. This
        probably breaks things. No ide what to do in order to preserve the old
        behaviour. Since this is used as a filter it should be split somehow
        to be able to match both nibbles here.
      
      Link: https://lkml.kernel.org/r/20210810132625.ylssabmsrkygokuv@linutronix.de
      
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      [bigeasy: patch description.]
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      [ SDR: Removed change to common_preempt_count field name ]
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      54357f0c
  5. Aug 24, 2021
  6. Aug 21, 2021
  7. Aug 19, 2021
  8. Aug 18, 2021
  9. Aug 17, 2021
  10. Aug 16, 2021