1. 16 Jan, 2017 2 commits
    • Andreas Gerstmayr's avatar
      fix iteration over CPUs · 7e0784d3
      Andreas Gerstmayr authored
      Since kernel version 4.9.0 BPF stopped working in a KVM guest.
      The problem are calls to perf_event_open with CPU identifiers which do
      not exist (ENODEV). The root cause for this is that the current code
      assumes ascending numbered CPUs. However, this is not always the case
      (e.g. CPU hotplugging).
      
      This patch introduces the get_online_cpus() and get_possible_cpus()
      helper functions and uses the appropriate function for iterations over
      CPUs. The BPF_MAP_TYPE_PERF_EVENT_ARRAY map contains now an entry for
      each possible CPU instead of for each online CPU.
      
      Fixes: #893
      Signed-off-by: default avatarAndreas Gerstmayr <andreas.gerstmayr@catalysts.cc>
      7e0784d3
    • Brendan Gregg's avatar
      Merge pull request #906 from goldshtn/valid-idents · ec9d42c8
      Brendan Gregg authored
      argdist, trace: Support non-C identifier names
      ec9d42c8
  2. 14 Jan, 2017 1 commit
    • Sasha Goldshtein's avatar
      argdist, trace: Support non-C identifier names · 3fa7ba1e
      Sasha Goldshtein authored
      When argdist or trace face a function that has characters
      in its name that are not valid in C identifier, they now
      replace these characters with an underscore (`_`) when
      generating function names and structure names to include
      in the BPF program. As a result, it is now possible to
      trace functions that have these identifiers in their names,
      such as Golang functions like `fmt.Println`.
      3fa7ba1e
  3. 13 Jan, 2017 2 commits
  4. 11 Jan, 2017 10 commits
  5. 09 Jan, 2017 4 commits
  6. 08 Jan, 2017 1 commit
    • Ryan Leary's avatar
      Fixes bio{snoop,top} on 4.10. · bc43a290
      Ryan Leary authored
      This commit fixes #888.  The 2 scripts run the same check, and now run
      basically the same code to do it.
      
      Tested on 4.10-rc2.
      bc43a290
  7. 07 Jan, 2017 2 commits
    • Brenden Blanco's avatar
      Merge pull request #887 from rneugeba/cflags · e14519e7
      Brenden Blanco authored
      Add -fno-stack-protector to CFLAGS
      e14519e7
    • Rolf Neugebauer's avatar
      Add -fno-stack-protector to CFLAGS · 5dfd199a
      Rolf Neugebauer authored
      When compiling ebpf programs on Alpine Linux the compiler throws the following
      error:
      
      LLVM ERROR: Cannot select: 0x56049b79dcb0: ch,glue = BPFISD::CALL 0x56049a93ad60, TargetExternalSymbol:i64'__stack_chk_fail'
        0x56049b391500: i64 = TargetExternalSymbol'__stack_chk_fail'
          In function: waker
      
      Disabling the stack protector explicitly with '-fno-stack-protector'
      fixes this error.
      
      clang version 3.8.1 (tags/RELEASE_381/final)
      Target: x86_64-alpine-linux-musl
      Thread model: posix
      InstalledDir: /usr/bin
      Signed-off-by: default avatarRolf Neugebauer <rolf.neugebauer@docker.com>
      5dfd199a
  8. 05 Jan, 2017 6 commits
  9. 03 Jan, 2017 1 commit
  10. 02 Jan, 2017 1 commit
  11. 29 Dec, 2016 2 commits
  12. 28 Dec, 2016 1 commit
  13. 26 Dec, 2016 1 commit
  14. 22 Dec, 2016 1 commit
  15. 21 Dec, 2016 5 commits