OpenCloudOS-Kernel/arch
Linus Torvalds 343a9f3540 The biggest change here is the updates to kprobes
Back in January I posted patches to create function based events. These were
 the events that you suggested I make to allow developers to easily create
 events in code where no trace event exists. After posting those changes for
 review, it was suggested that we implement this instead with kprobes.
 
 The problem with kprobes is that the interface is too complex and needs to
 be simplified. Masami Hiramatsu posted patches in March and I've been
 playing with them a bit. There's been a bit of clean up in the kprobe code
 that was inspired by the function based event patches, and a couple of
 enhancements to the kprobe event interface.
 
  - If the arch supports it (we added support for x86), you can place a
    kprobe event at the start of a function and use $arg1, $arg2, etc
    to reference the arguments of a function. (Before you needed to know
    what register or where on the stack the argument was).
 
  - The second is a way to see array of events. For example, if you reference
    a mac address, you can add:
 
    echo 'p:mac ip_rcv perm_addr=+574($arg2):x8[6]' > kprobe_events
 
    And this will produce:
 
    mac: (ip_rcv+0x0/0x140) perm_addr={0x52,0x54,0x0,0xc0,0x76,0xec}
 
 Other changes include
 
  - Exporting trace_dump_stack to modules
 
  - Have the stack tracer trace the entire stack (stop trying to remove
    tracing itself, as we keep removing too much).
 
  - Added support for SDT in uprobes
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCW9hdjxQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qmtbAP9GS/o2WSvsYLSIw4+mF94eCL06lUxp
 rRrktkEofm/PagEAl2JNmvHrAJN+LIrajqXTbwlZ7Ckk1rZhCW41Am7qnQs=
 =sTUM
 -----END PGP SIGNATURE-----

Merge tag 'trace-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

Pull tracing updates from Steven Rostedt:
 "The biggest change here is the updates to kprobes

  Back in January I posted patches to create function based events.
  These were the events that you suggested I make to allow developers to
  easily create events in code where no trace event exists. After
  posting those changes for review, it was suggested that we implement
  this instead with kprobes.

  The problem with kprobes is that the interface is too complex and
  needs to be simplified. Masami Hiramatsu posted patches in March and
  I've been playing with them a bit. There's been a bit of clean up in
  the kprobe code that was inspired by the function based event patches,
  and a couple of enhancements to the kprobe event interface.

   - If the arch supports it (we added support for x86), you can place a
     kprobe event at the start of a function and use $arg1, $arg2, etc
     to reference the arguments of a function. (Before you needed to
     know what register or where on the stack the argument was).

   - The second is a way to see array of events. For example, if you
     reference a mac address, you can add:

	echo 'p:mac ip_rcv perm_addr=+574($arg2):x8[6]' > kprobe_events

     And this will produce:

	mac: (ip_rcv+0x0/0x140) perm_addr={0x52,0x54,0x0,0xc0,0x76,0xec}

  Other changes include

   - Exporting trace_dump_stack to modules

   - Have the stack tracer trace the entire stack (stop trying to remove
     tracing itself, as we keep removing too much).

   - Added support for SDT in uprobes"

[ SDT - "Statically Defined Tracing" are userspace markers for tracing.
  Let's not use random TLA's in explanations unless they are fairly
  well-established as generic (at least for kernel people) - Linus ]

* tag 'trace-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (24 commits)
  tracing: Have stack tracer trace full stack
  tracing: Export trace_dump_stack to modules
  tracing: probeevent: Fix uninitialized used of offset in parse args
  tracing/kprobes: Allow kprobe-events to record module symbol
  tracing/kprobes: Check the probe on unloaded module correctly
  tracing/uprobes: Fix to return -EFAULT if copy_from_user failed
  tracing: probeevent: Add $argN for accessing function args
  x86: ptrace: Add function argument access API
  tracing: probeevent: Add array type support
  tracing: probeevent: Add symbol type
  tracing: probeevent: Unify fetch_insn processing common part
  tracing: probeevent: Append traceprobe_ for exported function
  tracing: probeevent: Return consumed bytes of dynamic area
  tracing: probeevent: Unify fetch type tables
  tracing: probeevent: Introduce new argument fetching code
  tracing: probeevent: Remove NOKPROBE_SYMBOL from print functions
  tracing: probeevent: Cleanup argument field definition
  tracing: probeevent: Cleanup print argument functions
  trace_uprobe: support reference counter in fd-based uprobe
  perf probe: Support SDT markers having reference counter (semaphore)
  ...
2018-10-30 09:49:56 -07:00
..
alpha TTY/Serial patches for 4.20-rc1 2018-10-29 10:42:20 -07:00
arc Devicetree updates for 4.20: 2018-10-26 12:09:58 -07:00
arm ARM: SoC platform updates for 4.20 2018-10-29 15:37:33 -07:00
arm64 ARM: SoC platform updates for 4.20 2018-10-29 15:37:33 -07:00
c6x Devicetree updates for 4.20: 2018-10-26 12:09:58 -07:00
csky csky: Misc headers 2018-10-26 00:54:26 +08:00
h8300 Devicetree updates for 4.20: 2018-10-26 12:09:58 -07:00
hexagon hexagon: switch to NO_BOOTMEM 2018-10-26 16:25:20 -07:00
ia64 mm: make memmap_init a proper function 2018-10-26 16:26:35 -07:00
m68k Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2018-10-29 09:04:26 -07:00
microblaze Devicetree updates for 4.20: 2018-10-26 12:09:58 -07:00
mips TTY/Serial patches for 4.20-rc1 2018-10-29 10:42:20 -07:00
nds32 Devicetree updates for 4.20: 2018-10-26 12:09:58 -07:00
nios2 Merge branch 'akpm' (patches from Andrew) 2018-10-26 19:33:41 -07:00
openrisc Devicetree updates for 4.20: 2018-10-26 12:09:58 -07:00
parisc Merge branch 'parisc-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2018-10-29 15:02:40 -07:00
powerpc TTY/Serial patches for 4.20-rc1 2018-10-29 10:42:20 -07:00
riscv RISC-V Patches for the 4.20 Merge Window, Part 1 2018-10-25 18:01:29 -07:00
s390 sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD 2018-10-26 16:26:32 -07:00
sh TTY/Serial patches for 4.20-rc1 2018-10-29 10:42:20 -07:00
sparc TTY/Serial patches for 4.20-rc1 2018-10-29 10:42:20 -07:00
um um: switch to NO_BOOTMEM 2018-10-26 16:25:20 -07:00
unicore32 unicore32: switch to NO_BOOTMEM 2018-10-26 16:25:20 -07:00
x86 The biggest change here is the updates to kprobes 2018-10-30 09:49:56 -07:00
xtensa TTY/Serial patches for 4.20-rc1 2018-10-29 10:42:20 -07:00
.gitignore
Kconfig The biggest change here is the updates to kprobes 2018-10-30 09:49:56 -07:00