1. 01 Feb, 2017 4 commits
    • Sasha Goldshtein's avatar
      cc: Support for __data_loc tracepoint fields · b9545a5c
      Sasha Goldshtein authored
      `__data_loc` fields are dynamically sized by the kernel at
      runtime. The field data follows the tracepoint structure entry,
      and needs to be extracted in a special way. The `__data_loc` field
      itself is a 32-bit value that consists of two 16-bit parts: the
      high 16 bits are the length of the data, and the low 16 bits are
      the offset of the data from the beginning of the tracepoint
      structure. From a cursory look, there are >200 tracepoints in
      recent kernels that have this kind of field.
      
      This patch fixes `tp_frontend_action.cc` to recognize and emit
      `__data_loc` fields correctly, as 32-bit opaque fields. Then, it
      introduces two helper macros:
      
      `TP_DATA_LOC_READ(dst, field)` reads from `args->field` by finding
      the right offset and length and emitting the `bpf_probe_read`
      required to fetch the data. This will only work with new kernels.
      
      `TP_DATA_LOC_READ_CONST(dst, field, length)` takes a user-specified
      length rather than finding it from `args->field`. This will work
      on older kernels, where the BPF verifier doesn't allow non-constant
      sizes to be passed to `bpf_probe_read`.
      b9545a5c
    • 4ast's avatar
      Merge pull request #918 from derek0883/mybcc · b77915df
      4ast authored
      Handling multiple concurrent probe users.
      b77915df
    • Derek's avatar
      enum bpf_probe_attach_type to CAPITAL · 227b5b99
      Derek authored
      227b5b99
    • Derek's avatar
      undo rebase · a112514c
      Derek authored
      a112514c
  2. 31 Jan, 2017 10 commits
  3. 30 Jan, 2017 4 commits
  4. 29 Jan, 2017 2 commits
  5. 26 Jan, 2017 1 commit
  6. 24 Jan, 2017 2 commits
  7. 23 Jan, 2017 1 commit
    • Derek's avatar
      Handling multiple concurrent probe users. · 739581f8
      Derek authored
      Event naming pattern changed to $(eventname)_bcc_$(pid)
      Detect /sys/kernel/debug/tracing/instances in bpf_attach_probe,
      if it exist, then will per-instance event, if failed the make global
      event instance as same as before.
      739581f8
  8. 22 Jan, 2017 1 commit
  9. 21 Jan, 2017 2 commits
  10. 20 Jan, 2017 3 commits
  11. 17 Jan, 2017 9 commits
  12. 16 Jan, 2017 1 commit