1. 07 Jun, 2017 1 commit
  2. 06 Jun, 2017 3 commits
  3. 05 Jun, 2017 1 commit
  4. 03 Jun, 2017 1 commit
    • Yonghong Song's avatar
      Add a python test for usdt · 505c110a
      Yonghong Song authored
        o The sample application covers different aspects
          of usdt rewriter code generation:
          - const
          - *(ctx + offset)
          - use bpf_probe_read to get trace data
          - the switch in ctx->ip if the same probe
            is triggered in multiple .text locations.
        o folly (https://github.com/facebook/folly/) tracing
          header files are pulled into python test directory and
          used to produce USDT probes.
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      505c110a
  5. 01 Jun, 2017 1 commit
  6. 31 May, 2017 5 commits
  7. 30 May, 2017 3 commits
    • Christian Resell's avatar
    • Christian Resell's avatar
    • Yonghong Song's avatar
      Force udst ctx->#reg load to be volatile · b0f891d1
      Yonghong Song authored
      This is related to issue #1133. Compiler sometimes
      generates code patterns likes:
           r1 = ctx + 96
           goto next
         here:
           r1 = ctx + 48
         next:
           r3 = load (r1 + 0)
      Verifier will fail for such cases as r1 is marked
      as "unknown" at the time of load.
      
      The previous workaround is to add volatile attribute
      to the store like
         *(volatile u64 *)&dest = ctx->bx
      The hope is to force ctx related load in-place since
      its value is needed for store.
      
      Unfortunately, this does not always work and compiler
      still has freedom to merge different ctx loads at the
      same time honoring the volatile &dest. In USDT generated
      code, different branches of &dest are the same.
      
      This patch directly make ctx->bx itself as a volatile load:
        *(volatile u64 *)&ctx->bx
      This seems working as compiler stops playing around
      the address pointing to a volatile data.
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      b0f891d1
  8. 27 May, 2017 1 commit
  9. 25 May, 2017 3 commits
  10. 24 May, 2017 6 commits
  11. 23 May, 2017 3 commits
    • Brenden Blanco's avatar
      Merge pull request #1185 from gospo/master · 2631f6dc
      Brenden Blanco authored
      Add support for generic XDP mode
      2631f6dc
    • Teng Qin's avatar
      Support symbol option in C++ API stack table · 5703ccc1
      Teng Qin authored
      5703ccc1
    • Andy Gospodarek's avatar
      Add support for generic XDP mode · 9f3cab70
      Andy Gospodarek authored
      Reused some of the code and command-line format from kernel XDP samples.
      
      $ sudo ./xdp_drop_count.py -S enp1s0
      Printing drops per IP protocol-number, hit CTRL+C to stop
      17: 36616 pkt/s
      17: 19720757 pkt/s
      17: 19685768 pkt/s
      17: 19643601 pkt/s
      17: 19694537 pkt/s
      [...]
      $ sudo ./xdp_drop_count.py enp1s0
      Printing drops per IP protocol-number, hit CTRL+C to stop
      17: 7029 pkt/s
      17: 29996706 pkt/s
      17: 30048705 pkt/s
      17: 30261417 pkt/s
      17: 30291967 pkt/s
      [...]
      
      Throughput difference is expected since generic XDP takes more
      instructions per packet than optimized XDP.
      
      v2: switch __u32 to uint32_t in bpf_attach_xdp
      Signed-off-by: default avatarAndy Gospodarek <gospo@broadcom.com>
      9f3cab70
  12. 22 May, 2017 3 commits
  13. 21 May, 2017 3 commits
  14. 20 May, 2017 6 commits
    • Teng Qin's avatar
      Unify perf event enums in Python API · f510b6b7
      Teng Qin authored
      f510b6b7
    • Teng Qin's avatar
      Unify perf_event type and config check · 9875221c
      Teng Qin authored
      9875221c
    • Brenden Blanco's avatar
      Merge pull request #1164 from palmtenor/symboloptions · cb3d1618
      Brenden Blanco authored
      Add ability for users to control symboling behavior
      cb3d1618
    • Teng Qin's avatar
      Do not pass type flag to symbol callback · cf130834
      Teng Qin authored
      As the symbol type check now controled by the specified
      `bcc_symbol_option` and handled in lower level, there is not need to
      pass the type flag to the callback anymore.
      cf130834
    • Teng Qin's avatar
      Use bcc_symbol_option in ProcSyms · 89d901c6
      Teng Qin authored
      This commit makes `ProcSyms` constructor takes a `bcc_symbol_option`,
      and pass it down to underlying calls to control symboling behavior.
      If `nullptr` is passed, `ProcSyms` will use default setting, which is
      to use debug file, verify debug file checksum, and only load function symbols.
      
      This commit also makes `bcc_symcache_new` take a `bcc_symbol_option`
      parameter and pass it to the underlying `ProcSyms` constructor.
      89d901c6
    • Teng Qin's avatar
      Use bcc_symbol_option in bcc_resolve_symname · aff6ce70
      Teng Qin authored
      This commit makes `bcc_resolve_symname` to take an `bcc_symbol_option`
      parameter, and pass it to underlying calls to control symboling behavior.
      When `NULL` is passed, it will fallback to default which is current
      behavior that uses debug file, verify debug file CRC, and check all
      types of symbols.
      
      This commit also removes the unneccesary intermediate
      `bcc_find_symbol_addr`.
      
      Added documentation for usage of the API, updated most call sites to use
      default with `NULL`, and fixed some memory leaks at call sites.
      aff6ce70