{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "org.jenkinsci.plugins.ghprb.GhprbCause",
          "shortDescription" : "GitHub pull request #1901 of commit 222821c8be2c3aa862ddd7e4bf2a10965ae0639f, has merge conflicts."
        }
      ]
    },
    {
      "_class" : "org.jenkinsci.plugins.ghprb.GhprbParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "sha1",
          "value" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommit",
          "value" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthor",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbAuthorRepoGitUrl",
          "value" : "https://github.com/cneira/bcc.git"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthor",
          "value" : "Carlos Neira"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthorEmail",
          "value" : "cneirabustos@gmail.com"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthorLogin",
          "value" : "cneira"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthorLoginMention",
          "value" : "@cneira"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullId",
          "value" : "1901"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTargetBranch",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbSourceBranch",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "GIT_BRANCH",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorEmail",
          "value" : "cneirabustos@gmail.com"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLogin",
          "value" : "cneira"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLoginMention",
          "value" : "@cneira"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullDescription",
          "value" : "GitHub pull request #1901 of commit 222821c8be2c3aa862ddd7e4bf2a10965ae0639f, has merge conflicts."
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullTitle",
          "value" : "added new helper bpf_get_current_pidns_info and an example "
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLink",
          "value" : "https://github.com/iovisor/bcc/pull/1901"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLongDescription",
          "value" : "To fix issue https://github.com/iovisor/bcc/issues/1329 , I have created a new bpf helper, patch is included in the that issue. \\r\\nThis change is for bcc to be able to use that helper, also I created an example for this helper in tracing/examples.\\r\\n"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbCommentBody",
          "value" : "@yonghong-song, to be able to use this helper, first the k\\r\\npatch for kernel version 4.9.115 in #1329 should be integrated in upstream. Could you take a look at the code and example provided in #1329?.\\r\\n\\r\\n@pchaigno thanks, I'll do that."
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbGhRepository",
          "value" : "iovisor/bcc"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbCredentialsId",
          "value" : "6d3daf13-69b8-48b1-9c8f-ec5353264113"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "detached" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 605,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f",
            "branch" : [
              {
                "SHA1" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f",
                "name" : "detached"
              }
            ]
          },
          "revision" : {
            "SHA1" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f",
            "branch" : [
              {
                "SHA1" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f",
                "name" : "detached"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f",
        "branch" : [
          {
            "SHA1" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f",
            "name" : "detached"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/iovisor/bcc.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : "<a title=\"added new helper bpf_get_current_pidns_info and an example \" href=\"https://github.com/iovisor/bcc/pull/1901\">PR #1901</a>: added new helper bpf_get_cu...",
  "displayName" : "#605",
  "duration" : 1309999,
  "estimatedDuration" : 7460664,
  "executor" : None,
  "fullDisplayName" : "bcc-pr #605",
  "id" : "605",
  "keepLog" : False,
  "number" : 605,
  "queueId" : 4848,
  "result" : "SUCCESS",
  "timestamp" : 1595034833643,
  "url" : "https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/605/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/arch_helper.h",
          "tests/cc/test_c_api.cc",
          "src/cc/bcc_syms.cc",
          "src/cc/bcc_syms.h",
          "src/cc/bcc_elf.c"
        ],
        "commitId" : "d2e8ea47352e36f63a9dda281c00fadeb87e890a",
        "timestamp" : 1587618290000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix ELF ABI and endianness checks for powerpc64\u000a\u000aEarlier, it was assumed that ELF ABI v2 is used only on\u000alittle-endian powerpc64 environments but it seems this\u000aABI can be used independently of endianness.\u000a\u000aIt is expected that any C preprocessor that conforms to\u000athe ELF ABI v2 specification must predefine the _CALL_ELF\u000amacro and set its value to 2.\u000a\u000aInstead of looking at __BYTE_ORDER__ to determine whether\u000ato use the Local Entry Point (LEP) of symbols, one should\u000alook at the _CALL_ELF macro instead as this is ABI-related.\u000a\u000aSimilarly, _CALL_ELF should be used only for determining\u000athe ABI version and not the endianness.\u000a\u000aReported-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>\u000aFixes: bbd4180c (\"Fix uprobes on powerpc64\")\u000aFixes: 10869523 (\"clang: Add support to build eBPF for user specified ARCH\")\u000aAcked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>\u000aSigned-off-by: Sandipan Das <sandipan@linux.ibm.com>\u000a",
        "date" : "2020-04-22 22:04:50 -0700",
        "id" : "d2e8ea47352e36f63a9dda281c00fadeb87e890a",
        "msg" : "Fix ELF ABI and endianness checks for powerpc64",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/arch_helper.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.c"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_c_api.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "src/cc/export/helpers.h",
          "tools/ttysnoop.py"
        ],
        "commitId" : "264b2ccf4e42f7f1b9abb89fb320d0467c509e37",
        "timestamp" : 1587623778000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/sumanthk",
          "fullName" : "sumanthk"
        },
        "authorEmail" : "sumanthk@linux.ibm.com",
        "comment" : "bcc: Use bpf_probe_read_user in tools and provide backward compatibility\u000a\u000as390 has overlapping address space for user and kernel. Hence separation of\u000abpf_probe_read_user and bpf_probe_read_kernel is essential. Commit 6ae08ae3dea2\u000a(\"bpf: Add probe_read_{user, kernel} and probe_read_{user, kernel}_str\u000ahelpers\") introduced these changes into the kernel. However, bcc tools does not\u000arespect it.\u000a\u000aAs a workaround, perform the following:\u000a1. Use bpf_probe_read_user() explicitly in the bcc tools.\u000a2. When kernel version < 5.5, perform the checks if the\u000a   bpf_probe_read_user kernel helper is present in the backported kernel\u000a   as well. If not found, then fallback from bpf_probe_read_user to\u000a   bpf_probe_read.\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000a",
        "date" : "2020-04-23 01:36:18 -0500",
        "id" : "264b2ccf4e42f7f1b9abb89fb320d0467c509e37",
        "msg" : "bcc: Use bpf_probe_read_user in tools and provide backward compatibility",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "tools/ttysnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc"
        ],
        "commitId" : "ac157b474b2e2964ec2cba81574f2bddbd62b42b",
        "timestamp" : 1587623778000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/sumanthk",
          "fullName" : "sumanthk"
        },
        "authorEmail" : "sumanthk@linux.ibm.com",
        "comment" : "bcc: Use direct parameter assignment for syscall probe s390.\u000a\u000a1. Commit fa697140f9a2 (\"syscalls/x86: Use 'struct pt_regs' based\u000a   syscall calling convention for 64-bit syscalls\") changed the raw\u000a   parameter passed to the syscall entry function from a list of\u000a   parameters supplied in user space to a single `pt_regs *` parameter\u000a   (ARCH_HAS_SYSCALL_WRAPPER)\u000a\u000a2. But ARCH_HAS_SYSCALL_WRAPPER in s390 is not used for that purpose.\u000a   See commit a18f03cd89e9 (\"s390: autogenerate compat syscall\u000a   wrappers\")\u000a\u000a3. Use direct parameter assignment assumption for s390 syscall probe\u000a   instead.\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000a",
        "date" : "2020-04-23 01:36:18 -0500",
        "id" : "ac157b474b2e2964ec2cba81574f2bddbd62b42b",
        "msg" : "bcc: Use direct parameter assignment for syscall probe s390.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/lib/uflow.py",
          "tools/mountsnoop.py",
          "tools/opensnoop.py",
          "examples/tracing/strlen_count.py",
          "tools/lib/uobjnew.py",
          "tools/execsnoop.py",
          "examples/cpp/RecordMySQLQuery.cc",
          "tools/mysqld_qslower.py",
          "tools/lib/uthreads.py",
          "examples/tracing/strlen_snoop.py",
          "tools/biosnoop.py",
          "tools/lib/ucalls.py",
          "tools/statsnoop.py",
          "examples/lua/usdt_ruby.lua",
          "examples/lua/strlen_count.lua",
          "tools/bashreadline.py",
          "tools/dbslower.py",
          "tools/sslsniff.py",
          "examples/lua/bashreadline.c",
          "tools/biosnoop.lua",
          "tools/gethostlatency.py",
          "examples/tracing/nodejs_http_server.py",
          "tools/funcslower.py",
          "tools/lib/ugc.py",
          "examples/tracing/mysqld_query.py"
        ],
        "commitId" : "023154c7708087ddf6c2031cef5d25c2445b70c4",
        "timestamp" : 1587623778000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/sumanthk",
          "fullName" : "sumanthk"
        },
        "authorEmail" : "sumanthk@linux.ibm.com",
        "comment" : "bcc/tools: Introduce bpf_probe_read_user to the tools.\u000a\u000aThis is essential for architecture which do have overlapping address space.\u000a- bpf_probe_read_kernel() shall be used for reading data from kernel space\u000ato the bpf vm.\u000a- bpf_probe_read_user() shall be used for reading data from user space\u000a  to the bpf vm.\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000a",
        "date" : "2020-04-23 01:36:18 -0500",
        "id" : "023154c7708087ddf6c2031cef5d25c2445b70c4",
        "msg" : "bcc/tools: Introduce bpf_probe_read_user to the tools.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/funcslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/mysqld_qslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/sslsniff.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/uthreads.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/ugc.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/statsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/biosnoop.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/uobjnew.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/opensnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/gethostlatency.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/bashreadline.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/lua/usdt_ruby.lua"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/nodejs_http_server.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/biosnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/strlen_snoop.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/mysqld_query.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/execsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/strlen_count.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/ucalls.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/uflow.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/RecordMySQLQuery.cc"
          },
          {
            "editType" : "edit",
            "file" : "tools/dbslower.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/lua/strlen_count.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/mountsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/lua/bashreadline.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md",
          "docs/tutorial_bcc_python_developer.md"
        ],
        "commitId" : "aa3a4a6f7c6d59ede1598bc54fb9c83d8ad1f776",
        "timestamp" : 1587623778000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/sumanthk",
          "fullName" : "sumanthk"
        },
        "authorEmail" : "sumanthk@linux.ibm.com",
        "comment" : "bcc/docs: Add bpf_probe_read_user to docs and tutorials\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000a",
        "date" : "2020-04-23 01:36:18 -0500",
        "id" : "aa3a4a6f7c6d59ede1598bc54fb9c83d8ad1f776",
        "msg" : "bcc/docs: Add bpf_probe_read_user to docs and tutorials",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/tutorial_bcc_python_developer.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py",
          "src/python/bcc/utils.py"
        ],
        "commitId" : "99739b2aa214984b783f61e4bcb3754eda876c1b",
        "timestamp" : 1588161043000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/sumanthk",
          "fullName" : "sumanthk"
        },
        "authorEmail" : "sumanthk@linux.ibm.com",
        "comment" : "bcc/utils: Avoid code duplication of __generate_streq_function\u000a\u000abcc tools like trace.py and argdist.py uses _generate_streq_function()\u000afunctions to convert char * read to bpf_probe_read/bpf_probe_read_user.\u000aRefactor it and move the common functionality to utils.py.\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-04-29 06:50:43 -0500",
        "id" : "99739b2aa214984b783f61e4bcb3754eda876c1b",
        "msg" : "bcc/utils: Avoid code duplication of __generate_streq_function",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/utils.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/argdist_example.txt",
          "tools/argdist.py"
        ],
        "commitId" : "306080b9c6370974b0e11ed6bbe47f086c42d7ac",
        "timestamp" : 1588161084000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/sumanthk",
          "fullName" : "sumanthk"
        },
        "authorEmail" : "sumanthk@linux.ibm.com",
        "comment" : "bcc: Add __user attribute to support bpf_probe_read_user in argdist\u000a\u000aargdist traces probe functions and its parameter values.\u000a\u000aAdd functionality to convert:\u000a- All userspace probes char * read to bpf_probe_read_user()\u000a- Syscall/kprobes char* params with __user attribute to bpf_probe_read_user()\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-04-29 06:51:24 -0500",
        "id" : "306080b9c6370974b0e11ed6bbe47f086c42d7ac",
        "msg" : "bcc: Add __user attribute to support bpf_probe_read_user in argdist",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/argdist_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/argdist.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/trace.py",
          "tools/trace_example.txt"
        ],
        "commitId" : "7cbd074cb5af6b82f53a5de9936ffaa74fea00f0",
        "timestamp" : 1588161108000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/sumanthk",
          "fullName" : "sumanthk"
        },
        "authorEmail" : "sumanthk@linux.ibm.com",
        "comment" : "bcc: Support bpf_probe_read_user in trace.py\u000a\u000aArguments of a probe point can be either user pointer or kernel\u000apointer.\u000a\u000aPreviously:\u000a- tools/trace.py 'do_sys_open \"%s\", arg2'\u000a  When reading arg2 as char *, it would resolve to bpf_probe_read.\u000a\u000aNow:\u000a- tools/trace.py 'do_sys_open \"%s\", arg2@user'\u000a  - When reading arg2 as char *, it is resolved to bpf_probe_read_user.\u000a- tools/trace.py 'do_sys_open (STRCMP(\"test.txt\", arg2@user)) \"%s\", arg2'\u000a  - For arg2 char * read, bpf_probe_read_user is utilized\u000a\u000aTo distinguish this, add arg@user.\u000a- All userspace probes char *read converted to bpf_probe_read_user\u000a- Syscall/kprobes with arg[1-6]@user attribute are converted to\u000a  bpf_probe_read_user.\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-04-29 06:51:48 -0500",
        "id" : "7cbd074cb5af6b82f53a5de9936ffaa74fea00f0",
        "msg" : "bcc: Support bpf_probe_read_user in trace.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/trace.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf.c"
        ],
        "commitId" : "09be5b50c1168c2796786029fa159c63f71e2936",
        "timestamp" : 1588161122000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/sumanthk",
          "fullName" : "sumanthk"
        },
        "authorEmail" : "sumanthk@linux.ibm.com",
        "comment" : "bcc/libbpf: Fix bpf_has_kernel_btf return status\u000a\u000abool returns True for negative integers. Hence bcc tools\u000atries to switch to kfunc instead of kprobes, even when the\u000abtf data is not found.\u000a\u000aFor libbpf_find_vmlinux_btf_id, When err <= 0 , btf is not found.\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-04-29 06:52:02 -0500",
        "id" : "09be5b50c1168c2796786029fa159c63f71e2936",
        "msg" : "bcc/libbpf: Fix bpf_has_kernel_btf return status",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/perf/ipc.py"
        ],
        "commitId" : "59a753da82f9eab628a5506822a6ff16a6912a88",
        "timestamp" : 1588491463000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Add perf event data collection example for an userspace application (#2888)\u000a\u000a* Add perf event data collection example for an userspace application\u000a* Add comments for potential issues in perf_event example\u000a",
        "date" : "2020-05-03 00:37:43 -0700",
        "id" : "59a753da82f9eab628a5506822a6ff16a6912a88",
        "msg" : "Add perf event data collection example for an userspace application (#2888)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "examples/perf/ipc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "f1c3fc5359ace92f50cc1ce31f24ed83b9122ce8",
        "timestamp" : 1588706025000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Update INSTALL.md\u000a",
        "date" : "2020-05-05 12:13:45 -0700",
        "id" : "f1c3fc5359ace92f50cc1ce31f24ed83b9122ce8",
        "msg" : "Update INSTALL.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/usdt_sample/usdt_sample.md",
          "src/cc/usdt/usdt.cc"
        ],
        "commitId" : "0d93f24ce8f9ee273151acd117a612da00c4d632",
        "timestamp" : 1588706094000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "USDT: make path failure message more explicit\u000a\u000aMake it clear which file the USDT runtime files to find and suggest a\u000afix.\u000a",
        "date" : "2020-05-05 12:14:54 -0700",
        "id" : "0d93f24ce8f9ee273151acd117a612da00c4d632",
        "msg" : "USDT: make path failure message more explicit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/usdt_sample/usdt_sample.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/nfsdist.py"
        ],
        "commitId" : "a433ef9451f187541012354cf6a2f4cf67646e11",
        "timestamp" : 1588748117000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "add nfs v3 support to nfsdist.py (#2902)\u000a\u000aadd nfs v3 support to nfsdist.py\u000a\u000aCo-authored-by: sabbene <sabbene@sabbene.nvidia.com>\u000a",
        "date" : "2020-05-05 23:55:17 -0700",
        "id" : "a433ef9451f187541012354cf6a2f4cf67646e11",
        "msg" : "add nfs v3 support to nfsdist.py (#2902)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/nfsdist.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/argdist.py"
        ],
        "commitId" : "b8269aac2130c9cfd6f18b211b5b2af570edbe76",
        "timestamp" : 1589247807000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Bug #2907 - Fix argdist filtering option for USDT probes\u000a",
        "date" : "2020-05-11 18:43:27 -0700",
        "id" : "b8269aac2130c9cfd6f18b211b5b2af570edbe76",
        "msg" : "Bug #2907 - Fix argdist filtering option for USDT probes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/argdist.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/CMakeLists.txt",
          "examples/cpp/CMakeLists.txt"
        ],
        "commitId" : "0d87484b724e3f20d03c49a48e356e6fd1533c68",
        "timestamp" : 1589521602000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "add -fPIC to compile examples/cpp and tests/cc\u000a\u000aI use clang-8.0.1 and gcc-8.3.1 to compile bcc-0.8.1,\u000awithout -fPIC, will get errors like this:\u000a/usr/bin/ld: CMakeFiles/test_libbcc.dir/test_libbcc.cc.o: relocation\u000aR_X86_64_32S against symbol `_ZTVN5Catch21LegacyReporterAdapterE' can\u000anot be used when making a PIE object; recompile with -fPIC\u000a/usr/bin/ld: CMakeFiles/test_libbcc.dir/test_c_api.cc.o: relocation\u000aR_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE\u000aobject; recompile with -fPIC\u000a/usr/bin/ld: CMakeFiles/CGroupTest.dir/CGroupTest.cc.o: relocation\u000aR_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE\u000aobject; recompile with -fPIC\u000a\u000aSigned-off-by: Chunmei Xu <xuchunmei@linux.alibaba.com>\u000a",
        "date" : "2020-05-14 22:46:42 -0700",
        "id" : "0d87484b724e3f20d03c49a48e356e6fd1533c68",
        "msg" : "add -fPIC to compile examples/cpp and tests/cc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/cpp/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/vfsstat.c",
          "libbpf-tools/vfsstat.h",
          "libbpf-tools/Makefile",
          "libbpf-tools/vfsstat.bpf.c",
          "libbpf-tools/.gitignore"
        ],
        "commitId" : "46947c5d4575853ca7ddfc695b53d83c824278e4",
        "timestamp" : 1589918202000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: convert BCC vfsstat to BPF CO-RE version\u000a\u000aSigned-off-by: Anton Protopopov <a.s.protopopov@gmail.com>\u000a",
        "date" : "2020-05-19 12:56:42 -0700",
        "id" : "46947c5d4575853ca7ddfc695b53d83c824278e4",
        "msg" : "libbpf-tools: convert BCC vfsstat to BPF CO-RE version",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/vfsstat.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/vfsstat.bpf.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/vfsstat.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Dockerfile.tests"
        ],
        "commitId" : "c6342d23e48ae03df78f7c716f55e6ff14e5169b",
        "timestamp" : 1589919374000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix github actions tests\u000a\u000aGithub actions are failing because the docker image used for testing is based\u000ain Ubuntu 19.04 that is EOL now. This commit downgrades the version used for\u000atesting to 18.04 that is LTS. It also installs the \"util-linux\" package that\u000aincludes the \"unshare\" command.\u000a\u000aSigned-off-by: Mauricio Vásquez <mauricio@kinvolk.io>\u000a",
        "date" : "2020-05-19 13:16:14 -0700",
        "id" : "c6342d23e48ae03df78f7c716f55e6ff14e5169b",
        "msg" : "Fix github actions tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Dockerfile.tests"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/dirtop_example.txt",
          "tools/dirtop.py",
          "man/man8/dirtop.8",
          "README.md"
        ],
        "commitId" : "8c12794214bf906089f972676eb065e618d581af",
        "timestamp" : 1589999132000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "tools/dirtop: Adding dirtop utility (#2819)\u000a\u000aThis tools is about reporting IOs per directory.\u000aThat's a clone of filetop but works in a different way :\u000a- user specify a set of globs to select a list of directories to watch\u000a- dirtop extracts the inode_id of the selected directories\u000a- the bpf program receives the list of top directories to consider\u000a- when vfs_{read|write} occurs, the bpf program check\u000a  if one of the parents is part of the list we search for\u000a- if it matches, the io is accounted\u000a\u000aOn the python side, the program will reconcilate IOs per directory and print stats.\u000a\u000aWhile filetop list the programs and filename, dirtop only list the directory name.\u000a\u000aA typical usages looks like :\u000a\u000a\u0009[root@host]: dirtop.py -d '/hdfs/uuid/*/yarn'\u000a\u000914:56:33 loadavg: 52.21 48.81 37.78 53/2721 28720\u000a\u000a\u0009READS  WRITES R_Kb     W_Kb     PATH\u000a\u000936821  7632   238219   149183   /hdfs/uuid/d04fccd8-bc72-4ed9-bda4-c5b6893f1405/yarn\u000a\u000920823  2      196290   3        /hdfs/uuid/b94cbf3f-76b1-4ced-9043-02d450b9887c/yarn\u000a\u000916059  12064  109748   85778    /hdfs/uuid/250b21c8-1714-45fe-8c08-d45d0271c6bd/yarn\u000a\u000914128  20360  106287   81440    /hdfs/uuid/4a833770-767e-43b3-b696-dc98901bce26/yarn\u000a\u000915883  4991   86014    82075    /hdfs/uuid/0cc3683f-4800-4c73-8075-8d77dc7cf116/yarn\u000a\u000911182  4485   28834    116917   /hdfs/uuid/7d512fe7-b20d-464c-a75a-dbf8b687ee1c/yarn\u000a\u000911848  7810   103139   31240    /hdfs/uuid/2c6a7223-cb18-4916-a1b6-8cd02bda1d31/yarn\u000a\u000910418  1272   114842   18       /hdfs/uuid/76dc0b77-e2fd-4476-818f-2b5c3c452396/yarn\u000a\u000910066  6630   93969    20218    /hdfs/uuid/c11da291-28de-4a77-873e-44bb452d238b/yarn\u000a\u000913648  15453  39450    53744    /hdfs/uuid/99c178d5-a209-4af2-8467-7382c7f03c1b/yarn\u000a\u00099509   2049   31363    48219    /hdfs/uuid/a78f846a-58c4-4d10-a9f5-42f16a6134a0/yarn\u000a\u00098112   2178   13765    63479    /hdfs/uuid/bf829d08-1455-45b8-81fa-05c3303e8c45/yarn\u000a\u00094327   0      37544    0        /hdfs/uuid/fada8004-53ff-48df-9396-165d8e42925b/yarn\u000a\u00092238   2742   72       50       /hdfs/uuid/b3b2a2ed-f6c1-4641-86bf-2989dd932411/yarn\u000a\u00093716   0      47       0        /hdfs/uuid/8138a53b-b942-44d3-82df-51575f1a3901/yarn\u000a\u000aSigned-off-by: Erwan Velu <e.velu@criteo.com>\u000a\u000aCo-authored-by: Erwan Velu <e.velu@criteo.com>\u000a",
        "date" : "2020-05-20 11:25:32 -0700",
        "id" : "8c12794214bf906089f972676eb065e618d581af",
        "msg" : "tools/dirtop: Adding dirtop utility (#2819)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "tools/dirtop_example.txt"
          },
          {
            "editType" : "add",
            "file" : "tools/dirtop.py"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "add",
            "file" : "man/man8/dirtop.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/execsnoop.bpf.c",
          "libbpf-tools/execsnoop.c",
          "libbpf-tools/Makefile",
          "libbpf-tools/execsnoop.h",
          "libbpf-tools/.gitignore"
        ],
        "commitId" : "fa8142e39a65b626309fe01e5024c9886b7a5059",
        "timestamp" : 1590041088000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: add CO-RE execsnoop\u000a",
        "date" : "2020-05-20 23:04:48 -0700",
        "id" : "fa8142e39a65b626309fe01e5024c9886b7a5059",
        "msg" : "libbpf-tools: add CO-RE execsnoop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/execsnoop.bpf.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/execsnoop.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/execsnoop.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf",
          "src/cc/libbpf.c",
          "src/cc/compat/linux/virtual_bpf.h",
          "src/cc/export/helpers.h",
          "docs/kernel-versions.md"
        ],
        "commitId" : "74e66b4f6730e0708f97150ac23d5951c5684ff8",
        "timestamp" : 1590074319000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with latest libbpf\u000a\u000aSync with latest libbpf repo. Update virtual_bpf.h,\u000ahelpers.h, docs, etc.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-05-21 08:18:39 -0700",
        "id" : "74e66b4f6730e0708f97150ac23d5951c5684ff8",
        "msg" : "sync with latest libbpf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/klockstat.py",
          "tools/opensnoop.py",
          "src/cc/export/helpers.h"
        ],
        "commitId" : "44e0f43eeac53648adb4734862f9b36d80853420",
        "timestamp" : 1590089248000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix KFUNC_PROBE return value\u000a\u000aThe KFUNC_PROBE macro is using \"void\" as return type, this is causing problems\u000ain some tools that have a filtering enable that returns 0.\u000a\u000aReproducer: (Notice that it requires BTF support)\u000a\u000a```\u000a$ python opensnoop.py --pid 5\u000a/virtual/main.c:33:21: error: void function '____kretfunc__do_sys_open' should not return a value [-Wreturn-type]\u000a    if (pid != 5) { return 0; }\u000a                    ^      ~\u000a1 error generated.\u000a...\u000a```\u000a\u000aSigned-off-by: Mauricio Vásquez <mauricio@kinvolk.io>\u000a",
        "date" : "2020-05-21 12:27:28 -0700",
        "id" : "44e0f43eeac53648adb4734862f9b36d80853420",
        "msg" : "Fix KFUNC_PROBE return value",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/opensnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/klockstat.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/libbcc.py"
        ],
        "commitId" : "7722fc55f6c8a5ec1c16ba76f10db3b709af5d36",
        "timestamp" : 1590089645000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbcc-py: Fix libbpf types\u000a\u000a1ad2656a1d9c (\"Add support_kfunc function to BPF object\") added new functions\u000ato libbcc-py but didn't set the restype and argstypes for those. It's causing\u000athe `bpf_has_kernel_btf` function to return True in systems without support\u000afor BTF, making tools like opensnoop, klockstat and any other using kfuncs\u000aunusable in those systems.\u000a\u000aThe following Python script reproduces the problem:\u000a\u000a```\u000afrom bcc import BPF\u000aprint(BPF.support_kfunc())\u000a```\u000a\u000aSigned-off-by: Mauricio Vásquez <mauricio@kinvolk.io>\u000a",
        "date" : "2020-05-21 12:34:05 -0700",
        "id" : "7722fc55f6c8a5ec1c16ba76f10db3b709af5d36",
        "msg" : "libbcc-py: Fix libbpf types",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/libbcc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/tcplife.py"
        ],
        "commitId" : "104a5b8052a2c7743109b8d19351b66d218359d5",
        "timestamp" : 1590093939000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc/tools: fix typo in help message\u000a",
        "date" : "2020-05-21 13:45:39 -0700",
        "id" : "104a5b8052a2c7743109b8d19351b66d218359d5",
        "msg" : "bcc/tools: fix typo in help message",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/tcplife.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/bindsnoop_example.txt",
          "man/man8/execsnoop.8",
          "man/man8/tcptracer.8",
          "man/man8/bindsnoop.8",
          "tools/opensnoop.py",
          "src/python/bcc/containers.py",
          "tools/tcptop.py",
          "tools/execsnoop.py",
          "tools/capable_example.txt",
          "tools/opensnoop_example.txt",
          "docs/filtering_by_cgroups.md",
          "docs/special_filtering.md",
          "tools/capable.py",
          "tools/tcpaccept_example.txt",
          "tools/bindsnoop.py",
          "tools/profile_example.txt",
          "tools/profile.py",
          "man/man8/opensnoop.8",
          "man/man8/tcpconnect.8",
          "man/man8/tcptop.8",
          "man/man8/capable.8",
          "tools/tcpconnect.py",
          "tools/tcpconnect_example.txt",
          "tools/tcpaccept.py",
          "tools/tcptracer.py",
          "man/man8/tcpaccept.8",
          "man/man8/profile.8",
          "tools/execsnoop_example.txt",
          "tools/tcptracer_example.txt",
          "tools/tcptop_example.txt"
        ],
        "commitId" : "32ab858309c84c23049715aaab936ce654ad5792",
        "timestamp" : 1590110653000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: add filtering by mount namespace\u000a\u000aIn previous patches, I added the option --cgroupmap to filter events\u000abelonging to a set of cgroup-v2. Although this approach works fine with\u000asystemd services and containers when cgroup-v2 is enabled, it does not\u000awork with containers when only cgroup-v1 is enabled because\u000abpf_get_current_cgroup_id() only works with cgroup-v2. It also requires\u000aLinux 4.18 to get this bpf helper function.\u000a\u000aThis patch adds an additional way to filter by containers, using mount\u000anamespaces.\u000a\u000aNote that this does not help with systemd services since they normally\u000adon't create a new mount namespace (unless you set some options like\u000a'ReadOnlyPaths=', see \"man 5 systemd.exec\").\u000a\u000aMy goal with this patch is to filter Kubernetes pods, even on\u000adistributions with an older kernel (<4.18) or without cgroup-v2 enabled.\u000a\u000a- This is only implemented for tools that already support filtering by\u000a  cgroup id (bindsnoop, capable, execsnoop, profile, tcpaccept, tcpconnect,\u000a  tcptop and tcptracer).\u000a\u000a- I picked the mount namespace because the other namespaces could be\u000a  disabled in Kubernetes (e.g. HostNetwork, HostPID, HostIPC).\u000a\u000aIt can be tested by following the example in docs/special_filtering added\u000ain this commit, to avoid compiling locally the following command can be used\u000a\u000a```\u000asudo bpftool map create /sys/fs/bpf/mnt_ns_set type hash key 8 value 4 \\\u000a  entries 128 name mnt_ns_set flags 0\u000adocker run -ti --rm --privileged \\\u000a  -v /usr/src:/usr/src -v /lib/modules:/lib/modules \\\u000a  -v /sys/fs/bpf:/sys/fs/bpf --pid=host kinvolk/bcc:alban-containers-filters \\\u000a  /usr/share/bcc/tools/execsnoop --mntnsmap /sys/fs/bpf/mnt_ns_set\u000a\u000a```\u000a\u000aCo-authored-by: Alban Crequy <alban@kinvolk.io>\u000aCo-authored-by: Mauricio Vásquez <mauricio@kinvolk.io>\u000a",
        "date" : "2020-05-21 18:24:13 -0700",
        "id" : "32ab858309c84c23049715aaab936ce654ad5792",
        "msg" : "tools: add filtering by mount namespace",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/execsnoop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpaccept.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/capable_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/capable.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/profile.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptracer_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcpaccept.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpconnect_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/profile_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcptop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/execsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpconnect.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcpconnect.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/opensnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/bindsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcptracer.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/opensnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/profile.8"
          },
          {
            "editType" : "add",
            "file" : "src/python/bcc/containers.py"
          },
          {
            "editType" : "add",
            "file" : "docs/special_filtering.md"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptracer.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/opensnoop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/bindsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/capable.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpaccept_example.txt"
          },
          {
            "editType" : "delete",
            "file" : "docs/filtering_by_cgroups.md"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/execsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/bindsnoop_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/tutorial_bcc_python_developer.md"
        ],
        "commitId" : "683ed9e1baede201e1dfe74d3a661b8b1d6b97da",
        "timestamp" : 1590162520000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Spelling\u000a\u000a(as title)\u000a",
        "date" : "2020-05-22 08:48:40 -0700",
        "id" : "683ed9e1baede201e1dfe74d3a661b8b1d6b97da",
        "msg" : "Spelling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/tutorial_bcc_python_developer.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/exitsnoop_example.txt",
          "man/man8/exitsnoop.8",
          "tools/exitsnoop.py"
        ],
        "commitId" : "a28337a7ebea6ce375fb2e976f0b3b61aa05e981",
        "timestamp" : 1590210845000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tool: trace process termination by default\u000a\u000a`sched_process_exit` tracepoint is called when thread terminates.\u000aSo exitsnoop shows line per each thread termination if the process\u000ais multi-thread process. This is not useful when people wants to\u000aknow why process terminates, not thread.\u000a\u000aSo this changes exitsnoop default behavior which traces process termination\u000ainstead of thread termination. And add `--per-thread` option which behaves\u000aas original exitsnoop implementation.\u000a",
        "date" : "2020-05-22 22:14:05 -0700",
        "id" : "a28337a7ebea6ce375fb2e976f0b3b61aa05e981",
        "msg" : "tool: trace process termination by default",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/exitsnoop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/exitsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/exitsnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc"
        ],
        "commitId" : "112f5291c63fe6160685160c552ae2b03deb3d1e",
        "timestamp" : 1590447864000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc: Error out when bpf_probe_read_user is not present\u000a\u000a1. For architecture with overlapping address space, error out when\u000a   bpf_probe_read_user is not available.\u000a2. For arch with non overlapping address space, if bpf_probe_read_user\u000a   is not available bpf_probe_read_user is implicitly converted to\u000a   bpf_probe_read.\u000a3. Use bpf_probe_read_kernel instead of bpf_probe_read. When\u000a   bpf_probe_read_kernel is not available, fallback to bpf_probe_read.\u000a   If bpf_probe_read is not available, then bcc would fail anyways.\u000a4. See kernel commit 0ebeea8ca8a4 (\"bpf: Restrict bpf_probe_read{,\u000a   str}() only to archs where they work\")\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-05-25 16:04:24 -0700",
        "id" : "112f5291c63fe6160685160c552ae2b03deb3d1e",
        "msg" : "bcc: Error out when bpf_probe_read_user is not present",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/runqslower.py",
          "tools/bitesize.py",
          "tools/fileslower.py",
          "tools/mdflush.py",
          "tools/oomkill.py",
          "tools/deadlock.c",
          "tools/opensnoop.py",
          "tools/biolatency.py",
          "src/cc/libbpf.c",
          "tools/tcptop.py",
          "tools/tcplife.lua",
          "tools/trace.py",
          "tools/xfsslower.py",
          "tools/compactsnoop.py",
          "tools/filetop.py",
          "tools/solisten.py",
          "tools/sofdsnoop.py",
          "tools/ext4slower.py",
          "tools/wakeuptime.py",
          "tools/dcsnoop.py",
          "tools/bindsnoop.py",
          "tools/tcpdrop.py",
          "tools/biosnoop.py",
          "tools/killsnoop.py",
          "tools/btrfsslower.py",
          "tools/tcpstates.py",
          "tools/slabratetop.py",
          "tools/tcpconnect.py",
          "tools/dbslower.py",
          "tools/drsnoop.py",
          "tests/python/test_clang.py",
          "tools/argdist.py",
          "tools/memleak.py",
          "tools/biosnoop.lua",
          "tools/gethostlatency.py",
          "tools/ttysnoop.py",
          "tools/tcpretrans.py",
          "tools/tcpaccept.py",
          "tools/funcslower.py",
          "tools/tcptracer.py",
          "tools/filelife.py",
          "tools/hardirqs.py",
          "tools/tcpconnlat.py",
          "tools/nfsslower.py",
          "tools/zfsslower.py",
          "tools/tcplife.py"
        ],
        "commitId" : "7f6066d250efa138419c16c150ad8711d6528d29",
        "timestamp" : 1590447864000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc/tools: Replace bpf_probe_read with bpf_probe_read_kernel\u000a\u000aIt is recommended to use bpf_probe_read_kernel_{str} in the bpf tools.\u000aSee kernel commit 0ebeea8ca8a4 (\"bpf: Restrict bpf_probe_read{, str}()\u000aonly to archs where they work\")\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-05-25 16:04:24 -0700",
        "id" : "7f6066d250efa138419c16c150ad8711d6528d29",
        "msg" : "bcc/tools: Replace bpf_probe_read with bpf_probe_read_kernel",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/gethostlatency.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/nfsslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/sofdsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/hardirqs.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/mdflush.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_clang.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/compactsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/biosnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/bitesize.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/solisten.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/ttysnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/ext4slower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpconnect.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/wakeuptime.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/filelife.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptracer.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/runqslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/biolatency.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/dcsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/dbslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/bindsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/fileslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/biosnoop.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/argdist.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/slabratetop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/zfsslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/memleak.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/oomkill.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpconnlat.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/deadlock.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/drsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/xfsslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/killsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/filetop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpaccept.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpdrop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcplife.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpretrans.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/btrfsslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/funcslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpstates.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcplife.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/opensnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/usdt/usdt_args.cc",
          "examples/usdt_sample/scripts/bpf_text_shared.c",
          "examples/cpp/pyperf/PyPerfBPFProgram.cc"
        ],
        "commitId" : "747e0dd9f0e40ef0fd55291a42f79d4691c344dd",
        "timestamp" : 1590447864000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc: Fix user space probe reads with bpf_probe_read_user\u000a\u000aUser space probe reads should be performed using bpf_probe_read_user.\u000aFix this in remaining places.\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-05-25 16:04:24 -0700",
        "id" : "747e0dd9f0e40ef0fd55291a42f79d4691c344dd",
        "msg" : "bcc: Fix user space probe reads with bpf_probe_read_user",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt_args.cc"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/pyperf/PyPerfBPFProgram.cc"
          },
          {
            "editType" : "edit",
            "file" : "examples/usdt_sample/scripts/bpf_text_shared.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/filelife.bpf.c",
          "libbpf-tools/runqslower.bpf.c",
          "libbpf-tools/xfsslower.bpf.c",
          "libbpf-tools/drsnoop.bpf.c"
        ],
        "commitId" : "d9583813c07897fbbe99d475ab6beb445ae9ffe8",
        "timestamp" : 1590447864000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc/libbpf-tools: Replace bpf_probe_read with bpf_probe_read_kernel.\u000a\u000aAs kernel commit b8ebce86ffe6 (\"libbpf: Provide CO-RE variants of\u000aPT_REGS macros\") is introduced after bpf_probe_read_kernel changes, it\u000ais safe to use bpf_probe_read_kernel directly\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-05-25 16:04:24 -0700",
        "id" : "d9583813c07897fbbe99d475ab6beb445ae9ffe8",
        "msg" : "bcc/libbpf-tools: Replace bpf_probe_read with bpf_probe_read_kernel.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/runqslower.bpf.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/filelife.bpf.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/drsnoop.bpf.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/xfsslower.bpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/opensnoop.bpf.c"
        ],
        "commitId" : "4a1313d179e9701469e1e5650b05ec332b85751f",
        "timestamp" : 1590447864000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc/libbpf-tools: Fix user probe read references\u000a\u000aReplace bpf_probe_read_str with bpf_probe_read_user_str.\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-05-25 16:04:24 -0700",
        "id" : "4a1313d179e9701469e1e5650b05ec332b85751f",
        "msg" : "bcc/libbpf-tools: Fix user probe read references",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/opensnoop.bpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md",
          "docs/tutorial_bcc_python_developer.md"
        ],
        "commitId" : "471d366bb001f6025ec610dd3a615fba8c1dcd26",
        "timestamp" : 1590447864000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc/docs: Replace bpf_probe_read with bpf_probe_read_kernel\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000aAcked-by: Ilya Leoshkevich <iii@linux.ibm.com>\u000a",
        "date" : "2020-05-25 16:04:24 -0700",
        "id" : "471d366bb001f6025ec610dd3a615fba8c1dcd26",
        "msg" : "bcc/docs: Replace bpf_probe_read with bpf_probe_read_kernel",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/tutorial_bcc_python_developer.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc"
        ],
        "commitId" : "275abc9f3b7fb22ad1ac6a4188c807793b9c38bd",
        "timestamp" : 1590447864000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc: Check probe read availabilty and use macros\u000a\u000aWhen bpf_probe_read_kernel is not available, then macros are defined at\u000athe prologue to replace bpf_probe_read_kernel to bpf_prob_read. This\u000aresolves the problem of test_probe_read3 failure in test_clang.py for\u000a #2919\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000a",
        "date" : "2020-05-25 16:04:24 -0700",
        "id" : "275abc9f3b7fb22ad1ac6a4188c807793b9c38bd",
        "msg" : "bcc: Check probe read availabilty and use macros",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc"
        ],
        "commitId" : "0b2f4d0b981803ea8d8393ad2eec93c699e59df1",
        "timestamp" : 1590447864000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc: Remove bpf_probe_read_user availability checks on compile time\u000a\u000aIf wrong kernel-headers are installed, then this can provide false\u000aresult for probe read selection. Instead look for only kallsyms.\u000a\u000aSigned-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>\u000a",
        "date" : "2020-05-25 16:04:24 -0700",
        "id" : "0b2f4d0b981803ea8d8393ad2eec93c699e59df1",
        "msg" : "bcc: Remove bpf_probe_read_user availability checks on compile time",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/b/lexer.h"
        ],
        "commitId" : "ec64e6a774499aa54fdf6eb006a8c94eabec8866",
        "timestamp" : 1590463220000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix: avoid -Wsign-compare warnings\u000a",
        "date" : "2020-05-25 20:20:20 -0700",
        "id" : "ec64e6a774499aa54fdf6eb006a8c94eabec8866",
        "msg" : "fix: avoid -Wsign-compare warnings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/b/lexer.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/killsnoop.py"
        ],
        "commitId" : "076a3545e4f365cdc517995d77329ea0c15c89f0",
        "timestamp" : 1590513109000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add arg for filtering on signal\u000a",
        "date" : "2020-05-26 10:11:49 -0700",
        "id" : "076a3545e4f365cdc517995d77329ea0c15c89f0",
        "msg" : "Add arg for filtering on signal",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/killsnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/killsnoop_example.txt",
          "man/man8/killsnoop.8"
        ],
        "commitId" : "33c8b1aca84b4cdd955efb14d06cea6ce7db4169",
        "timestamp" : 1590513109000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Update man page and example file\u000a",
        "date" : "2020-05-26 10:11:49 -0700",
        "id" : "33c8b1aca84b4cdd955efb14d06cea6ce7db4169",
        "msg" : "Update man page and example file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/killsnoop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/killsnoop.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/killsnoop_example.txt"
        ],
        "commitId" : "d12dd2e9fb1ddeb4407dd66881f90d1faff22e54",
        "timestamp" : 1590513109000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix example indent\u000a",
        "date" : "2020-05-26 10:11:49 -0700",
        "id" : "d12dd2e9fb1ddeb4407dd66881f90d1faff22e54",
        "msg" : "Fix example indent",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/killsnoop_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/killsnoop.py"
        ],
        "commitId" : "7cecd795440251ca53065caca185978bdc8a18d5",
        "timestamp" : 1590513109000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Make examples consistent\u000a",
        "date" : "2020-05-26 10:11:49 -0700",
        "id" : "7cecd795440251ca53065caca185978bdc8a18d5",
        "msg" : "Make examples consistent",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/killsnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc"
        ],
        "commitId" : "30d897563bd116451f41230712aad2b952eda7d0",
        "timestamp" : 1590514758000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "return failure if rewriter cannot rewrite properly\u000a\u000aFix issue #537.\u000a\u000aThe bcc rewriter does not have enough information to do\u000aproper rewriting from:\u000a  #define PKT_LEN_ADD 1\u000a  ip->tlen += PKT_LEN_ADD;\u000ato\u000a  bpf_dins_pkt(skb, (u64)ip+2, 0, 16, PKT_LEN_ADD);\u000a\u000aSo instead of generate incorrect code\u000awhich caused compilation error. Let return an error\u000aearlier with helper comments so users know what to do.\u000aWith this patch, we will have\u000a /virtual/main.c:20:17: error: cannot have macro at the end of expresssion,\u000a workaround: put perentheses around macro \"(MARCO)\"\u000a    ip->tlen += PKT_LEN_ADD;\u000a                ^\u000a",
        "date" : "2020-05-26 10:39:18 -0700",
        "id" : "30d897563bd116451f41230712aad2b952eda7d0",
        "msg" : "return failure if rewriter cannot rewrite properly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CMakeLists.txt"
        ],
        "commitId" : "82abd2f2680e5c8c86c8cfcab02cc8c68915c599",
        "timestamp" : 1590605718000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Allow to specify kernel include dirs\u000a\u000aIt's sometimes convenient to use other kernel headers,\u000anow it's possible possible with new KERNEL_INCLUDE_DIRS\u000abuild variable, like:\u000a\u000a  $ cd <kernel-dir>\u000a  $ make INSTALL_HDR_PATH=/tmp/headers headers_install\u000a  $ cd <bcc-dir>\u000a  $ cmake -DKERNEL_INCLUDE_DIRS=/tmp/headers/include/ ...\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-05-27 11:55:18 -0700",
        "id" : "82abd2f2680e5c8c86c8cfcab02cc8c68915c599",
        "msg" : "Allow to specify kernel include dirs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf.c",
          "tests/python/test_clang.py",
          "src/python/bcc/__init__.py",
          "src/cc/export/helpers.h"
        ],
        "commitId" : "d0074783b6f56ed195f378a581726098ab87fe98",
        "timestamp" : 1590605718000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Adding support to load lsm programs\u000a\u000aAdding the 'lsm__' prefix check for loaded program\u000aand set BPF_LSM_MAC as expected_attach_type if the\u000aprogram name matches.\u000a\u000aThis way we can load LSM programs via bcc interface.\u000a\u000aThe program attach can be done by existing kfunc API:\u000a  bpf_attach_kfunc\u000a  bpf_detach_kfunc\u000a\u000aIt will be used in upcomming bpftrace change that\u000aadds lsm probes.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-05-27 11:55:18 -0700",
        "id" : "d0074783b6f56ed195f378a581726098ab87fe98",
        "msg" : "Adding support to load lsm programs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_clang.py"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "5558e36bd97ace7bc3efe3a70d0c9d4fc0d34e2a",
        "timestamp" : 1590814223000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Make reading blacklist from debugfs optional\u000a\u000aWith lockdown enabled one sees the following:\u000a\u000a```\u000a$ sudo /usr/share/bcc/tools/funccount -Ti 1 run_timer_softirq\u000a[Errno 1] Operation not permitted: '/sys/kernel/debug/tracing/../kprobes/blacklist'\u000a```\u000a\u000aWhich is accompanied by the following in `dmesg`:\u000a\u000a```\u000a[Fri May 29 22:12:47 2020] Lockdown: funccount: debugfs access is restricted; see man kernel_lockdown.7\u000a```\u000a\u000aSince blacklist is not a required feature, let's make\u000areading from it optional, so that bcc can work out of the box.\u000a",
        "date" : "2020-05-29 21:50:23 -0700",
        "id" : "5558e36bd97ace7bc3efe3a70d0c9d4fc0d34e2a",
        "msg" : "Make reading blacklist from debugfs optional",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/offwaketime.8",
          "tools/offwaketime_example.txt",
          "tools/offwaketime.py"
        ],
        "commitId" : "b20f5e741f086bf37b19365566b01b5bf6fa251e",
        "timestamp" : 1590855453000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "offwaketime: Add support for --state (#2940)\u000a\u000aSince offwaketime is really an amalgamation of offcputime and wakeuptime\u000athere is no reason why it shouldn't support the --state argument of the\u000aformer.\u000a\u000aCo-authored-by: Nikolay Borisov <nborisov@suse.com>\u000a",
        "date" : "2020-05-30 09:17:33 -0700",
        "id" : "b20f5e741f086bf37b19365566b01b5bf6fa251e",
        "msg" : "offwaketime: Add support for --state (#2940)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/offwaketime.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/offwaketime_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/offwaketime.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/syscount.h",
          "libbpf-tools/drsnoop.c",
          "libbpf-tools/xfsslower.c",
          "libbpf-tools/errno_helpers.c",
          "libbpf-tools/filelife.c",
          "libbpf-tools/syscall_helpers.h",
          "libbpf-tools/syscount.bpf.c",
          "libbpf-tools/errno_helpers.h",
          "libbpf-tools/syscall_helpers.c",
          "libbpf-tools/.gitignore",
          "libbpf-tools/Makefile",
          "libbpf-tools/syscount.c"
        ],
        "commitId" : "f3fbeb46cb5264d324e60882bd97977ad3dc00d5",
        "timestamp" : 1591060922000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "libbpf-tools: convert BCC syscount to BPF CO-RE version\u000a\u000aAdd a new libbpf-based tool, syscount, and add some helpers which may be used\u000aby other tools. Namely,\u000a\u000a  * syscall_helpers.{c,h}: convert system call numbers to names\u000a  * errno_helpers.{c,h}: convert errno names to numbers\u000a\u000aThe helpers contain pre-generated tables for x86_64 (which will be outdated at\u000asome point, so require to be updated on demand), but for other architectures\u000arequire additional tools: syscall helpers require the ausyscall(1) tool, and\u000aerrno helpers require errno(1) utility from the moreutils package. So, if you\u000arun on non-x86_64, then either install these tools, or use numeric values.\u000a\u000aIf possible, use bpf_map_lookup_and_delete_batch function to read and reset\u000avalues in the data map.  This is a raceless way to obtain all values.  If the\u000afunction is not available, e.g., for old kernels, then fall back to the old\u000aversion which can loose some syscalls (happened between reading values and\u000aresetting them).\u000a\u000aSigned-off-by: Anton Protopopov <a.s.protopopov@gmail.com>\u000a",
        "date" : "2020-06-01 18:22:02 -0700",
        "id" : "f3fbeb46cb5264d324e60882bd97977ad3dc00d5",
        "msg" : "libbpf-tools: convert BCC syscount to BPF CO-RE version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/filelife.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/drsnoop.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/syscount.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/syscall_helpers.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/xfsslower.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/syscount.bpf.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/syscount.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/errno_helpers.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/syscall_helpers.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/errno_helpers.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/funcinterval.py",
          "man/man8/funcinterval.8",
          "tools/funcinterval_example.txt",
          "README.md"
        ],
        "commitId" : "2188d233d69baf9b49ccf5856292f56285be6d41",
        "timestamp" : 1591162420000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: Add funcinterval bcc tool.\u000a\u000aTime interval between the same function as a histogram.\u000aReferenced from funclatency.\u000a",
        "date" : "2020-06-02 22:33:40 -0700",
        "id" : "2188d233d69baf9b49ccf5856292f56285be6d41",
        "msg" : "tools: Add funcinterval bcc tool.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "add",
            "file" : "man/man8/funcinterval.8"
          },
          {
            "editType" : "add",
            "file" : "tools/funcinterval_example.txt"
          },
          {
            "editType" : "add",
            "file" : "tools/funcinterval.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/cpudist.c",
          "libbpf-tools/trace_helpers.c",
          "libbpf-tools/cpudist.bpf.c",
          "libbpf-tools/cpudist.h",
          "libbpf-tools/trace_helpers.h",
          "libbpf-tools/Makefile",
          "libbpf-tools/.gitignore"
        ],
        "commitId" : "be5d68c7a4847113337e5f98711a3ff37ebd7c29",
        "timestamp" : 1591164573000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: add CO-RE cpudist\u000a\u000aSigned-off-by: Wenbo Zhang <ethercflow@gmail.com>\u000a",
        "date" : "2020-06-02 23:09:33 -0700",
        "id" : "be5d68c7a4847113337e5f98711a3ff37ebd7c29",
        "msg" : "libbpf-tools: add CO-RE cpudist",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/trace_helpers.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/cpudist.bpf.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/cpudist.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/cpudist.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/trace_helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/biolatpcts.py"
        ],
        "commitId" : "da0d82cc11d56d12a383f5c670281bfa61ca2ad7",
        "timestamp" : 1591166340000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "silence a python travis-ci warning\u000a\u000aThe travis-ci flags a python warning:\u000a\u000a  $ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics\u000a  ./tools/biolatpcts.py:123:5: F821 undefined name 'die'\u000a      die()\u000a      ^\u000a  1     F821 undefined name 'die'\u000a\u000aLet us fix it with proper error message and then exit().\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-06-02 23:39:00 -0700",
        "id" : "da0d82cc11d56d12a383f5c670281bfa61ca2ad7",
        "msg" : "silence a python travis-ci warning",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/biolatpcts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Dockerfile.ubuntu"
        ],
        "commitId" : "5fed2a94da19501c3088161db0c412b5623050ca",
        "timestamp" : 1591199176000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Docker: add kmod dependency to docker container\u000a\u000amodprobe and rmmod are used to load the kheaders module as a last option\u000awhen kernel headers are not found. The modprobe command is missing in the\u000adocker image and scroipts are failing:\u000a\u000a$ /usr/share/bcc/tools/execsnoop --mntnsmap /sys/fs/bpf/mnt_ns_set\u000ash: 1: modprobe: not found\u000aUnable to find kernel headers. Try rebuilding kernel with CONFIG_IKHEADERS=m (module)\u000a...\u000a\u000aSigned-off-by: Mauricio Vásquez <mauricio@kinvolk.io>\u000a",
        "date" : "2020-06-03 08:46:16 -0700",
        "id" : "5fed2a94da19501c3088161db0c412b5623050ca",
        "msg" : "Docker: add kmod dependency to docker container",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Dockerfile.ubuntu"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/loader.cc",
          "tests/python/test_clang.py"
        ],
        "commitId" : "8319d52dc8834daa0766f61487f75ed3c3c731fe",
        "timestamp" : 1591283820000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "turn off x86 jump table optimization during jit compilation\u000a\u000ajump table optimization tries to optimize switch statements\u000ainto an array access. But such optimization will place certain\u000ainformation, acted as the array, in the read-only section.\u000aCurrently, bcc does not support read-only section, so\u000ajump table optimized code will fail during kernel verification.\u000aThis is what happened to biolatpcts.py in my environment with\u000alatest llvm.\u000a\u000a  -bash-4.4$ sudo ./biolatpcts.py console\u000a  bpf: Failed to load program: Invalid argument\u000a  unknown opcode 60\u000a  processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0\u000a\u000a  HINT: The 'unknown opcode' can happen if you reference a global or static variable,\u000a  or data in read-only section. For example, 'char *p = \"hello\"' will result in p\u000a  referencing a read-only section, and 'char p[] = \"hello\"' will have \"hello\" stored on the stack.\u000a\u000aThis patch disabled jump table optimization on x64. The jump table\u000aoptimization is guarded for llvm version 4 and above.\u000aWe can disable jump table on other architectures if needed.\u000aA test case, developed based biolatpcts.py tool, is added\u000ato ensure it pass the verifier.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-06-04 08:17:00 -0700",
        "id" : "8319d52dc8834daa0766f61487f75ed3c3c731fe",
        "msg" : "turn off x86 jump table optimization during jit compilation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/loader.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_clang.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/runqslower.py"
        ],
        "commitId" : "78b0f07c55e179929e789c987cce47031495cad6",
        "timestamp" : 1591333355000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix runqslower to indicate that the latency param is in microseconds.\u000a",
        "date" : "2020-06-04 22:02:35 -0700",
        "id" : "78b0f07c55e179929e789c987cce47031495cad6",
        "msg" : "Fix runqslower to indicate that the latency param is in microseconds.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/runqslower.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/usdt/usdt.cc",
          "src/cc/bcc_usdt.h",
          "src/cc/usdt.h"
        ],
        "commitId" : "126054e829e7c6ed342f8719818490bc093f851a",
        "timestamp" : 1591337337000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "usdt: Add helpers to set semaphore values\u000a\u000aWhile debugging a high memory consumption issue in bpftrace, I noticed\u000athat a USDT::Context object can take ~10M per instance [0]. Along with\u000athe new --usdt-file-activation feature in bpftrace\u000a( https://github.com/iovisor/bpftrace/pull/1317 ), bpftrace can\u000apotentially hold onto many dozens of USDT:Context instances, causing\u000amemory issues.\u000a\u000aWhile reducing the amount of memory USDT::Context uses is one option,\u000awe can potentially side step it by allowing the usdt semaphore count to\u000abe set independently. Before, the only way to increment the count (by 1)\u000ais to call bcc_usdt_enable*(). bcc_usdt_enable*() has checks that limit\u000ait to a single increment per context. The only way to decrement the\u000acount is by calling bcc_usdt_close() which naturally only allows for\u000aone decrement.\u000a\u000aWith independent semaphore helpers, we can avoid holding onto a\u000aUSDT::Context instance for the lifetime of the tracing session. We can\u000asimply:\u000a\u000a1. create a USDT::Context\u000a2. increment the semaphore count for the probe we care about\u000a3. destroy the USDT::Context\u000a4. repeat 1-3 for all probes we want to attach to\u000a5. do our tracing\u000a6. create a USDT::Context for the probe we care about\u000a7. decrement the semaphore count\u000a8. destroy the USDT::Context\u000a9. repeat 6-8 for all the probes we're attached to\u000a\u000aThis approach also has the benefit of 1 USDT::Context instance being\u000aalive at a time which can help keep memory high watermark low.\u000a\u000a[0]: Through gdb single stepping and /proc/pid/status. Exact process is\u000anot described here b/c memory usage probably varies based on tracee\u000abinary.\u000a",
        "date" : "2020-06-04 23:08:57 -0700",
        "id" : "126054e829e7c6ed342f8719818490bc093f851a",
        "msg" : "usdt: Add helpers to set semaphore values",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/usdt.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_usdt.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/usdt/usdt.cc"
        ],
        "commitId" : "0bcf2388ce19271c98512d04f719f9efb1c87d39",
        "timestamp" : 1591419398000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "usdt: Have Context::addsem_probe() nop if pid not specified\u000a\u000aThis makes bcc_usdt_addsem*() more consistent with the bcc_usdt_enable*()\u000ainterface where if a USDT::Context was not constructed with a pid the\u000asemaphore enablement nops.\u000a",
        "date" : "2020-06-05 21:56:38 -0700",
        "id" : "0bcf2388ce19271c98512d04f719f9efb1c87d39",
        "msg" : "usdt: Have Context::addsem_probe() nop if pid not specified",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/offwaketime.8",
          "tools/offwaketime_example.txt",
          "tools/offwaketime.py"
        ],
        "commitId" : "263411be9805502bc7e4daaf0ce6cea90884aa38",
        "timestamp" : 1591598026000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Add support for multiple PID/TID for offwaketime (#2951)\u000a\u000aInstead of filtering on a single process allow up to 5 pid/tgid to be\u000aused for filtering. The limit of 5 is arbitrary and can be increased\u000ashould the need arise. Also remove unnecessary thread_context variable.\u000a\u000aCo-authored-by: Nikolay Borisov <nborisov@suse.com>\u000a",
        "date" : "2020-06-07 23:33:46 -0700",
        "id" : "263411be9805502bc7e4daaf0ce6cea90884aa38",
        "msg" : "Add support for multiple PID/TID for offwaketime (#2951)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/offwaketime.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/offwaketime.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/offwaketime_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "005664bd2d252c51ef18f5286e049a389e298bd3",
        "timestamp" : 1591598425000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix: encode path to bytes in python3\u000a",
        "date" : "2020-06-07 23:40:25 -0700",
        "id" : "005664bd2d252c51ef18f5286e049a389e298bd3",
        "msg" : "fix: encode path to bytes in python3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/opensnoop.py"
        ],
        "commitId" : "8cd2717de91983aeeadefd0886031bd4d8e920ee",
        "timestamp" : 1591638498000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/opensnoop: Fix compilation problem\u000a\u000aFix stupid bug introduced by myself.\u000a\u000aSigned-off-by: Mauricio Vásquez <mauricio@kinvolk.io>\u000a",
        "date" : "2020-06-08 10:48:18 -0700",
        "id" : "8cd2717de91983aeeadefd0886031bd4d8e920ee",
        "msg" : "tools/opensnoop: Fix compilation problem",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/opensnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/xfsslower.c",
          "libbpf-tools/trace_helpers.c",
          "libbpf-tools/filelife.c",
          "libbpf-tools/opensnoop.c",
          "libbpf-tools/trace_helpers.h",
          "libbpf-tools/execsnoop.c",
          "libbpf-tools/filelife.h",
          "libbpf-tools/drsnoop.c",
          "libbpf-tools/cpudist.c",
          "libbpf-tools/runqslower.c",
          "libbpf-tools/execsnoop.h",
          "libbpf-tools/vfsstat.c",
          "libbpf-tools/syscount.c"
        ],
        "commitId" : "e4de95efada2bdb2f5a1ae8647421a712d1c196a",
        "timestamp" : 1591725528000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: refactor, move public methods to trace_helpers.c\u000a\u000aSigned-off-by: Wenbo Zhang <ethercflow@gmail.com>\u000a",
        "date" : "2020-06-09 10:58:48 -0700",
        "id" : "e4de95efada2bdb2f5a1ae8647421a712d1c196a",
        "msg" : "libbpf-tools: refactor, move public methods to trace_helpers.c",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/drsnoop.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/filelife.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/trace_helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/xfsslower.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/runqslower.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/filelife.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/execsnoop.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/execsnoop.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/cpudist.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/vfsstat.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/syscount.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/trace_helpers.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/opensnoop.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/deadlock.py"
        ],
        "commitId" : "4440a4db2e3fdb5277c2ad283504ea3504b43ecf",
        "timestamp" : 1591777722000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jmarchan",
          "fullName" : "jmarchan"
        },
        "authorEmail" : "jmarchan@redhat.com",
        "comment" : "deadlock: print a more explicit message when pthread_mutex_unlock can't be attached\u000a\u000aMost likely, this happen because of a missing --binary argument. Let's\u000abe friendly to our user and print a more useful messsage.\u000a",
        "date" : "2020-06-10 10:28:42 +0200",
        "id" : "4440a4db2e3fdb5277c2ad283504ea3504b43ecf",
        "msg" : "deadlock: print a more explicit message when pthread_mutex_unlock can't be attached",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/deadlock.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/tcpconnect.8"
        ],
        "commitId" : "eddf9dd07a4c1d94aad70894f98df24bc0e4cbc2",
        "timestamp" : 1591781435000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jmarchan",
          "fullName" : "jmarchan"
        },
        "authorEmail" : "jmarchan@redhat.com",
        "comment" : "man: remove non-existent -x argument from tcpconnect man page\u000a\u000aThere's no -x option in tcpconnect. I don't know how it get into the\u000aman page sysnopsis, but it doesn't belong there.\u000a",
        "date" : "2020-06-10 11:30:35 +0200",
        "id" : "eddf9dd07a4c1d94aad70894f98df24bc0e4cbc2",
        "msg" : "man: remove non-existent -x argument from tcpconnect man page",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/tcpconnect.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/loader.cc"
        ],
        "commitId" : "7830947fad1e0a9e2c723e7cb800af9d7e5b8e77",
        "timestamp" : 1591806744000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jmarchan",
          "fullName" : "jmarchan"
        },
        "authorEmail" : "jmarchan@redhat.com",
        "comment" : "loader: suggest to install the right kernel devel package\u000a\u000aUnfortunately, some package dependency system do not allow to make\u000asure that the kernel development package installed is the same version\u000aas the running kernel. When this happen, the loader, unable to find\u000athe kernel header, will suggest to rebuild the kernel with\u000aCONFIG_IKHEADERS. For most users, this is probably not an option, but\u000ainstalling the kernel development package corresponding to the running\u000akernel version is.\u000a",
        "date" : "2020-06-10 18:32:24 +0200",
        "id" : "7830947fad1e0a9e2c723e7cb800af9d7e5b8e77",
        "msg" : "loader: suggest to install the right kernel devel package",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/loader.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/dbstat.py",
          "tools/dbslower.py"
        ],
        "commitId" : "c9805f44bfe491a6fbbc34a06d0432a5ae3e8c20",
        "timestamp" : 1591819639000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: fix a python 3 map issue in dbstat and dbslower\u000a\u000aIn python 3, map returns an iterator and not a list anymore. This\u000apatch cast the map into a list. It fixes the following error:\u000a\u000a$ /usr/share/bcc/tools/dbstat mysql\u000aTraceback (most recent call last):\u000a  File \"/usr/share/bcc/tools/dbstat\", line 95, in <module>\u000a    bpf = BPF(text=program, usdt_contexts=usdts)\u000a  File \"/usr/lib/python3.6/site-packages/bcc/__init__.py\", line 339, in __init__\u000a    ctx_array = (ct.c_void_p * len(usdt_contexts))()\u000aTypeError: object of type 'map' has no len()\u000a",
        "date" : "2020-06-10 13:07:19 -0700",
        "id" : "c9805f44bfe491a6fbbc34a06d0432a5ae3e8c20",
        "msg" : "tools: fix a python 3 map issue in dbstat and dbslower",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/dbstat.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/dbslower.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md"
        ],
        "commitId" : "6a9619418cd202b477ca0582bd9b3a30d14731d5",
        "timestamp" : 1592013954000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix typos in kretfunc documentation\u000a\u000aFixes an incorrect link to kretfunc documentation section and fixes example to use proper macro\u000a",
        "date" : "2020-06-12 19:05:54 -0700",
        "id" : "6a9619418cd202b477ca0582bd9b3a30d14731d5",
        "msg" : "Fix typos in kretfunc documentation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/sync_timing.py",
          "docs/tutorial_bcc_python_developer.md"
        ],
        "commitId" : "59665497bf967e29a3d693e50081f62e3012edfe",
        "timestamp" : 1592029388000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Explicitly use NULL macro in pointer value check (#2965)\u000a\u000a Explicitly use NULL macro in pointer value check\u000a also updated the tutorial\u000a",
        "date" : "2020-06-12 23:23:08 -0700",
        "id" : "59665497bf967e29a3d693e50081f62e3012edfe",
        "msg" : "Explicitly use NULL macro in pointer value check (#2965)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/tutorial_bcc_python_developer.md"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/sync_timing.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/dbstat.py",
          "tools/klockstat.py"
        ],
        "commitId" : "10603c7123c4b2157190151b63ea846c04c76037",
        "timestamp" : 1592029488000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "dbstat: fix overflowing timestamp\u000a\u000aThe current default value of interval (99999999999) in dbstat is too\u000ahigh to be used in the sleep() function in python 3. I couldn't find a\u000aauthoritative source on the issue, but it seems the max value is\u000a2^63/10^9 (9223372036). Anyway, 99999999 is the de facto standard for\u000aa very big number here, so just use that. It's over 3 years, that\u000ashould be enough.\u000a\u000aFor consistency, I also change a couple of value in klockstat even\u000athough they didn't overflow.\u000a\u000aIt fixes the following error:\u000a$ dbstat mysql\u000aTracing database queries for pids  slower than 0 ms...\u000aTraceback (most recent call last):\u000a  File \"./dbstat\", line 112, in <module>\u000a    sleep(args.interval)\u000aOverflowError: timestamp too large to convert to C _PyTime_t\u000a",
        "date" : "2020-06-12 23:24:48 -0700",
        "id" : "10603c7123c4b2157190151b63ea846c04c76037",
        "msg" : "dbstat: fix overflowing timestamp",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/dbstat.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/klockstat.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "2c9395596e100697412225dc9e3856c2138a117b",
        "timestamp" : 1592202211000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add install steps for Alpine Linux\u000a",
        "date" : "2020-06-14 23:23:31 -0700",
        "id" : "2c9395596e100697412225dc9e3856c2138a117b",
        "msg" : "Add install steps for Alpine Linux",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf",
          "src/cc/libbpf.c",
          "introspection/bps.c",
          "src/cc/compat/linux/virtual_bpf.h",
          "docs/kernel-versions.md",
          "src/cc/export/helpers.h"
        ],
        "commitId" : "99fa312fefd90a760be9ba429f3267dfd78a76a8",
        "timestamp" : 1592318818000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with latest libbpf repo\u000a\u000async with latest libbpf repo, added newer ringbuf_*\u000ahelper functions and new csum_level() helper.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-06-16 07:46:58 -0700",
        "id" : "99fa312fefd90a760be9ba429f3267dfd78a76a8",
        "msg" : "sync with latest libbpf repo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          },
          {
            "editType" : "edit",
            "file" : "introspection/bps.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/kbuild_helper.cc"
        ],
        "commitId" : "68abb51ed067c4317b991cec0bbc2ea4e7f6ddab",
        "timestamp" : 1592444586000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add KBUILD_MODNAME flag to default cflags\u000a",
        "date" : "2020-06-17 18:43:06 -0700",
        "id" : "68abb51ed067c4317b991cec0bbc2ea4e7f6ddab",
        "msg" : "Add KBUILD_MODNAME flag to default cflags",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/kbuild_helper.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/networking/xdp/xdp_macswap_count.py",
          "tools/tcpstates.py",
          "examples/networking/xdp/xdp_redirect_map.py",
          "examples/tracing/nflatency.py",
          "examples/networking/xdp/xdp_drop_count.py",
          "tests/python/test_clang.py",
          "tools/tcplife.py",
          "examples/networking/xdp/xdp_redirect_cpu.py",
          "tools/tcplife.lua"
        ],
        "commitId" : "1c843e2c0f7570844a2c955436455132936eae47",
        "timestamp" : 1592444586000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Delete existing kbuild_modname definitions\u000a",
        "date" : "2020-06-17 18:43:06 -0700",
        "id" : "1c843e2c0f7570844a2c955436455132936eae47",
        "msg" : "Delete existing kbuild_modname definitions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/networking/xdp/xdp_macswap_count.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/xdp/xdp_drop_count.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcplife.lua"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/xdp/xdp_redirect_map.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpstates.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcplife.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/xdp/xdp_redirect_cpu.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/nflatency.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_clang.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/compat/linux/virtual_bpf.h",
          "src/cc/libbpf"
        ],
        "commitId" : "c3ed131d33426d2094fdd05f76f3a33bc3140ddf",
        "timestamp" : 1592545350000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with libbpf v0.0.9\u000a\u000async with libbpf version 0.0.9.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-06-18 22:42:30 -0700",
        "id" : "c3ed131d33426d2094fdd05f76f3a33bc3140ddf",
        "msg" : "sync with libbpf v0.0.9",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/api/BPFTable.cc"
        ],
        "commitId" : "e3daec85c47c0695f1bf955782fddf8644d89742",
        "timestamp" : 1592549496000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "[BPFTable] clear_table_non_atomic: Remove duplicate macro\u000a\u000aSigned-off-by: Gaurav Singh <gaurav1086@gmail.com>\u000a",
        "date" : "2020-06-18 23:51:36 -0700",
        "id" : "e3daec85c47c0695f1bf955782fddf8644d89742",
        "msg" : "[BPFTable] clear_table_non_atomic: Remove duplicate macro",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/export/helpers.h"
        ],
        "commitId" : "f438bffe0331d482fac57899fdd68411c4aca693",
        "timestamp" : 1592579461000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix LSM_PROBE return value\u000a\u000aFix issue #2976.\u000aThe LSM_PROBE program return value is fixed with value 0.\u000aThis is not correct. The return value is meaningful for\u000aLSM_PROBE programs. Return proper value provided by the\u000abpf program itself.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-06-19 08:11:01 -0700",
        "id" : "f438bffe0331d482fac57899fdd68411c4aca693",
        "msg" : "fix LSM_PROBE return value",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf.c",
          "tests/python/test_clang.py",
          "src/python/bcc/__init__.py",
          "src/python/bcc/libbcc.py",
          "src/cc/libbpf.h"
        ],
        "commitId" : "9b82af3ef53bbae76d9f09f403b58975995aa900",
        "timestamp" : 1592592089000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "API improvements for BPF LSM programs (#2979)\u000a\u000a* Enhanced support for LSM programs\u000a- added explicit libbcc support for LSM programs\u000a- added bcc helpers to attach LSM programs\u000a- added bcc helper to indicate kernel support for LSM programs\u000a- added LSM programs to __trace_autoload hook\u000a- removed (now) unnecessary load_func from LSM unit test\u000a- Remove detach_kfunc\u000a\u000aSigned-off-by: William Findlay <william@williamfindlay.com>\u000a",
        "date" : "2020-06-19 11:41:29 -0700",
        "id" : "9b82af3ef53bbae76d9f09f403b58975995aa900",
        "msg" : "API improvements for BPF LSM programs (#2979)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/libbcc.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_clang.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md"
        ],
        "commitId" : "5a8bf15a7e1bfdcd327126f02501630f8b79f4d1",
        "timestamp" : 1592596822000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Add LSM probe documentation (#2980)\u000a\u000a Add LSM documentation\u000a Add minimum kernel version requirements\u000a",
        "date" : "2020-06-19 13:00:22 -0700",
        "id" : "5a8bf15a7e1bfdcd327126f02501630f8b79f4d1",
        "msg" : "Add LSM probe documentation (#2980)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "debian/changelog"
        ],
        "commitId" : "e41f7a3be5c8114ef6a0990e50c2fbabea0e928e",
        "timestamp" : 1592599380000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "prepare for release v0.15.0\u000a\u000aadded changelog for release v0.15.0\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-06-19 13:43:00 -0700",
        "id" : "e41f7a3be5c8114ef6a0990e50c2fbabea0e928e",
        "msg" : "prepare for release v0.15.0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "debian/changelog"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/syscount.bpf.c"
        ],
        "commitId" : "05f3f8668481cf975cbf89338e0db7d411ef1432",
        "timestamp" : 1592719140000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: remove unnecessary header include from syscount.bpf.c\u000a\u000aIt causes build failure on my system due to trying to include GCC-specific\u000aheader. It doesn't seem to be necessary, though, so remove it.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-06-20 22:59:00 -0700",
        "id" : "05f3f8668481cf975cbf89338e0db7d411ef1432",
        "msg" : "libbpf-tools: remove unnecessary header include from syscount.bpf.c",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/syscount.bpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "4bf92d1110799393439cb6138bbcfa57670b42b9",
        "timestamp" : 1592757792000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add missing LSM cleanup hook\u000a",
        "date" : "2020-06-21 09:43:12 -0700",
        "id" : "4bf92d1110799393439cb6138bbcfa57670b42b9",
        "msg" : "Add missing LSM cleanup hook",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc"
        ],
        "commitId" : "f579bf8d60c804084888c12ecb621d74a86815aa",
        "timestamp" : 1592802117000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bpf: use bpf_probe_read in implicitly generated kernel mem read\u000a\u000aCurrently, bcc rewriter uses bpf_probe_read_kernel() for implicitly specified\u000akernel memory read. This is not totally correct. Some user memory in kernel\u000adata structure may be accessed. bpf_probe_read_kernel() may fail with\u000alater kernels. Let us revert back to old bpf_probe_read().\u000a",
        "date" : "2020-06-21 22:01:57 -0700",
        "id" : "f579bf8d60c804084888c12ecb621d74a86815aa",
        "msg" : "bpf: use bpf_probe_read in implicitly generated kernel mem read",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf.c",
          "docs/kernel-versions.md"
        ],
        "commitId" : "0d9e0911ddd9e6132fd2b05c7de6eaeafc540d67",
        "timestamp" : 1592876435000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix kernel version for ringbuf and add ringbuf to maps table\u000a",
        "date" : "2020-06-22 18:40:35 -0700",
        "id" : "0d9e0911ddd9e6132fd2b05c7de6eaeafc540d67",
        "msg" : "Fix kernel version for ringbuf and add ringbuf to maps table",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/bitesize.h",
          "libbpf-tools/bitesize.bpf.c",
          "libbpf-tools/cpudist.bpf.c",
          "libbpf-tools/bits.bpf.h",
          "libbpf-tools/bitesize.c",
          "libbpf-tools/.gitignore",
          "libbpf-tools/Makefile"
        ],
        "commitId" : "34f8985c29b0107b8526d5b0eedce2299db6570b",
        "timestamp" : 1592932756000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: add CO-RE bitesize\u000a\u000aSigned-off-by: Wenbo Zhang <ethercflow@gmail.com>\u000a",
        "date" : "2020-06-23 10:19:16 -0700",
        "id" : "34f8985c29b0107b8526d5b0eedce2299db6570b",
        "msg" : "libbpf-tools: add CO-RE bitesize",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/cpudist.bpf.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/bits.bpf.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/bitesize.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/bitesize.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/bitesize.bpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/profile.py"
        ],
        "commitId" : "1bddba6adefedc02fa5d6fda371a92c8fd4a3aea",
        "timestamp" : 1593011521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/profile: fix suggestion about when to increase stack-storage-size\u000a\u000aWhen we do stack traces via stackmaps, hash collisions (-EEXIST) may indicate\u000athat the map size is too small. Not -ENOMEM.\u000a",
        "date" : "2020-06-24 08:12:01 -0700",
        "id" : "1bddba6adefedc02fa5d6fda371a92c8fd4a3aea",
        "msg" : "tools/profile: fix suggestion about when to increase stack-storage-size",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/profile.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/vfsstat.py"
        ],
        "commitId" : "156a7d150a20f2ce7cce0fb7144952ab9fedf6e7",
        "timestamp" : 1593011645000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Fix KFUNC_PROBE calls in vfs_stat.py by adding a return value (#2990)\u000a\u000a Fix KFUNC_PROBE calls in vfs_stat.py by adding a return value of 0\u000a",
        "date" : "2020-06-24 08:14:05 -0700",
        "id" : "156a7d150a20f2ce7cce0fb7144952ab9fedf6e7",
        "msg" : "Fix KFUNC_PROBE calls in vfs_stat.py by adding a return value (#2990)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/vfsstat.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md",
          "src/cc/frontends/clang/b_frontend_action.cc",
          "tests/python/test_ringbuf.py",
          "tests/python/CMakeLists.txt",
          "examples/ringbuf/ringbuf_output.py",
          "src/cc/libbpf.h",
          "examples/ringbuf/ringbuf_submit.py",
          "src/cc/export/helpers.h",
          "src/cc/libbpf.c",
          "src/python/bcc/__init__.py",
          "src/python/bcc/table.py",
          "src/python/bcc/libbcc.py"
        ],
        "commitId" : "fe730f29f14bef8b5ffe1112c578df876c44d22d",
        "timestamp" : 1593125990000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Ringbuf Support for Python API (#2989)\u000a\u000aThis pull request contains an implementation for ringbuf support in bcc's Python API.\u000a\u000aFixes #2985.\u000a \u000aMore specifically, the following are added:\u000a    - ringbuf helpers from libbpf API to libbcc\u000a    - a new RingBuf class to represent the ringbuf map\u000a    - BPF_RINGBUF_OUTPUT macro for BPF programs\u000a    - tests\u000a    - detailed documentation and examples\u000a",
        "date" : "2020-06-25 15:59:50 -0700",
        "id" : "fe730f29f14bef8b5ffe1112c578df876c44d22d",
        "msg" : "Ringbuf Support for Python API (#2989)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "tests/python/test_ringbuf.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/table.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/libbcc.py"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          },
          {
            "editType" : "add",
            "file" : "examples/ringbuf/ringbuf_submit.py"
          },
          {
            "editType" : "add",
            "file" : "examples/ringbuf/ringbuf_output.py"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "src/cc/export/helpers.h"
        ],
        "commitId" : "fbde62b089fd7bd7818fa4b4e36f89e9b49883f9",
        "timestamp" : 1593446828000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Introducing Queue/Stack helpers and clang frontend\u000a\u000aThis commit aims to introduce helpers to declare Queue/Stack maps. I have supported also\u000athe creation of shared/public/pinned ones, as for the \"traditional\" tables.\u000aIn clang frontend I have added both declaration of maps type/queue, type/stack and all the operations\u000asupported so far by these new maps (push/pop/peek).\u000a\u000aPossible declarations introduced:\u000a\u000a* BPF_QUEUESTACK(<\"queue\"/\"stack\">, <name>, <leaf_type>, <max_entries>, <flags>)\u000a* BPF_QUEUESTACK_SHARED(...)\u000a* BPF_QUEUESTACK_PINNED(...)\u000a* BPF_QUEUESTACK_PUBLIC(...)\u000a* BPF_QUEUE(<name>, <leaf_type>, <max_entries>)\u000a* BPF_QUEUE(<name>, <leaf_type>, <max_entries>, <flags>)\u000a* BPF_STACK(<name>, <leaf_type>, <max_entries>)\u000a* BPF_STACK(<name>, <leaf_type>, <max_entries>, <flags>)\u000a\u000aSigned-off-by: Simone Magnani <simonemagnani.96@gmail.com>\u000aCo-authored-by: Sebastiano Miano <sebastiano.miano@polito.it>\u000a",
        "date" : "2020-06-29 09:07:08 -0700",
        "id" : "fbde62b089fd7bd7818fa4b4e36f89e9b49883f9",
        "msg" : "Introducing Queue/Stack helpers and clang frontend",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/CMakeLists.txt",
          "src/cc/api/BPFTable.h",
          "src/cc/api/BPF.h",
          "src/cc/libbpf.c",
          "src/cc/libbpf.h",
          "tests/cc/test_queuestack_table.cc"
        ],
        "commitId" : "30a420d70457555b92b8e5f555e58cf79d70ab23",
        "timestamp" : 1593446828000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "add BPFQueueStackTable and tests\u000a\u000aThis commit aims to introduce a new abstraction for these new map types: BPFQueueStackTableBase.\u000aAs all the allowed operation on these map types are different from the\u000a\"traditional\" ones, I thought to introduce a new abstraction, following the\u000aalready used programming style (template classes and utility func).\u000aMoreover, I had to update libbpf.h/c to insert the new bpf_map_lookup_and_delete_elem(),\u000aused when calling \"pop()\"\u000a\u000aSigned-off-by: Simone Magnani <simonemagnani.96@gmail.com>\u000a",
        "date" : "2020-06-29 09:07:08 -0700",
        "id" : "30a420d70457555b92b8e5f555e58cf79d70ab23",
        "msg" : "add BPFQueueStackTable and tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "add",
            "file" : "tests/cc/test_queuestack_table.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf",
          "src/cc/libbpf.c",
          "src/cc/compat/linux/virtual_bpf.h",
          "src/cc/export/helpers.h",
          "docs/kernel-versions.md"
        ],
        "commitId" : "f0bbf327dc4dba3cfb4d48a27de6c690bee172ef",
        "timestamp" : 1593587556000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with latest libbpf repo\u000a\u000async with latest libbpf repository\u000a",
        "date" : "2020-07-01 00:12:36 -0700",
        "id" : "f0bbf327dc4dba3cfb4d48a27de6c690bee172ef",
        "msg" : "sync with latest libbpf repo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          },
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/memleak.py"
        ],
        "commitId" : "581b198cffb55a7dd6486e54007df25e57feb466",
        "timestamp" : 1593668737000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "valloc and pvalloc is deprecated in bionic on Android\u000a\u000amemleak -p PID will failed on Android\u000ahttps://android.googlesource.com/platform/bionic/+/master/libc/bionic/malloc_common.cpp#196\u000a",
        "date" : "2020-07-01 22:45:37 -0700",
        "id" : "581b198cffb55a7dd6486e54007df25e57feb466",
        "msg" : "valloc and pvalloc is deprecated in bionic on Android",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/memleak.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_elf.c"
        ],
        "commitId" : "fc20957bdf266ce3468a53e7d6b071d717c612d0",
        "timestamp" : 1593883314000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix symfs symbol resolution\u000a\u000aPaths that are passed to find_debug_via_symfs often start with /proc/PID/root/\u000aprefix which is followed by actual path. This breaks symfs symbol resoultion.\u000aSymfs directory usually does not contain proc subdirectory and subdirectories\u000afor each pid.\u000a\u000aHere are examples of stack traces I got when tracing dlopen on Android before:\u000a```\u000a7acc558ef8 dlopen+0 (/system/lib64/libdl.so)\u000a7a2222f988 EglThreadState::GetProcAddress(char const*)+64 (/vendor/lib64/egl/libGLESv2_adreno.so)\u000a7ac8e3ecbc eglGetProcAddress+540 (/system/lib64/libEGL.so)\u000a7acb824a58 GrGLMakeAssembledGLESInterface(void*, void (* ()(void, char const*))())+8136 (/system/lib64/libhwui.so)\u000a7acb83a9b0 GrGLCreateNativeInterface()+48 (/system/lib64/libhwui.so)\u000a7acb63443c 0x7acb63443c ([unknown])\u000a7acb9cd33c 0x7acb9cd33c ([unknown])\u000a7acb9cdd70 0x7acb9cdd70 ([unknown])\u000a7acb9c7f20 0x7acb9c7f20 ([unknown])\u000a7acb9cbcc8 0x7acb9cbcc8 ([unknown])\u000a7acb98348c 0x7acb98348c ([unknown])\u000a7acb65da30 0x7acb65da30 ([unknown])\u000a7aca096b84 android::Thread::_threadLoop(void*)+284 (/system/lib64/libutils.so)\u000a7acc2c6288 __pthread_start(void*)+40 (/system/lib64/libc.so)\u000a7acc266500 __start_thread+72 (/system/lib64/libc.so)\u000a```\u000a\u000aand after:\u000a```\u000a7acc558ef8 dlopen+0 (/system/lib64/libdl.so)\u000a7a23a2d988 EglThreadState::GetProcAddress(char const*)+64 (/vendor/lib64/egl/libGLESv2_adreno.so)\u000a7ac8e3ecbc eglGetProcAddress+540 (/system/lib64/libEGL.so)\u000a7acb824a58 0x7acb824a58 ([unknown])\u000a7acb83a9b0 GrGLCreateNativeInterface()+48 (/system/lib64/libhwui.so)\u000a7acb63443c android::uirenderer::debug::GlesDriver::getSkiaInterface()+20 (/system/lib64/libhwui.so)\u000a7acb9cd33c android::uirenderer::renderthread::EglManager::initialize()+700 (/system/lib64/libhwui.so)\u000a7acb9cdd70 android::uirenderer::renderthread::EglManager::createSurface(ANativeWindow*, bool)+48 (/system/lib64/libhwui.so)\u000a7acb9c7f20 android::uirenderer::skiapipeline::SkiaOpenGLPipeline::setSurface(android::Surface*, android::uirenderer::renderthread::SwapBehavior, android::uirenderer::renderthread::ColorMode)+88 (/system/lib64/libhwui.so)\u000a7acb9cbcc8 android::uirenderer::renderthread::CanvasContext::setSurface(android::sp<android::Surface>&&)+88 (/system/lib64/libhwui.so)\u000a7acb98348c android::uirenderer::WorkQueue::process()+172 (/system/lib64/libhwui.so)\u000a7acb65da30 0x7acb65da30 ([unknown])\u000a7aca096b84 android::Thread::_threadLoop(void*)+284 (/system/lib64/libutils.so)\u000a7acc2c6288 __pthread_start(void*)+40 (/system/lib64/libc.so)\u000a7acc266500 __start_thread+72 (/system/lib64/libc.so)\u000a```\u000a",
        "date" : "2020-07-04 10:21:54 -0700",
        "id" : "fc20957bdf266ce3468a53e7d6b071d717c612d0",
        "msg" : "Fix symfs symbol resolution",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/kernel-versions.md"
        ],
        "commitId" : "1a348d4ae12ba6ec9831e89532504e27a815fa99",
        "timestamp" : 1593886904000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "docs: Add BPF LSM hook to kernel features\u000a\u000aSigned-off-by: Gary Lin <glin@suse.com>\u000a",
        "date" : "2020-07-04 11:21:44 -0700",
        "id" : "1a348d4ae12ba6ec9831e89532504e27a815fa99",
        "msg" : "docs: Add BPF LSM hook to kernel features",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/kernel-versions.md"
        ],
        "commitId" : "f0dd3496bd40b867cdf05d5f4565c8363f5fb906",
        "timestamp" : 1593886904000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "docs: Update XDP driver support list\u000a\u000aSigned-off-by: Gary Lin <glin@suse.com>\u000a",
        "date" : "2020-07-04 11:21:44 -0700",
        "id" : "f0dd3496bd40b867cdf05d5f4565c8363f5fb906",
        "msg" : "docs: Update XDP driver support list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/kernel-versions.md"
        ],
        "commitId" : "be277421add33cb348ae1092d3ab926c1f609328",
        "timestamp" : 1593886904000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "docs: add RISC-V to the JIT support list\u000a\u000aSigned-off-by: Gary Lin <glin@suse.com>\u000a",
        "date" : "2020-07-04 11:21:44 -0700",
        "id" : "be277421add33cb348ae1092d3ab926c1f609328",
        "msg" : "docs: add RISC-V to the JIT support list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/sslsniff.py"
        ],
        "commitId" : "1b7aab1b12fbfd621ceec282df9fbffb7423c508",
        "timestamp" : 1594190654000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "add the option --hexdump to sslsniff to allow sniffing of binary protocols inside TLS/SSL connections\u000a",
        "date" : "2020-07-07 23:44:14 -0700",
        "id" : "1b7aab1b12fbfd621ceec282df9fbffb7423c508",
        "msg" : "add the option --hexdump to sslsniff to allow sniffing of binary protocols inside TLS/SSL connections",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/sslsniff.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/sslsniff.py"
        ],
        "commitId" : "d40c3a7d801b3944a036a193366a99f96fbd570c",
        "timestamp" : 1594190654000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix examples in sslsniff.py\u000a",
        "date" : "2020-07-07 23:44:14 -0700",
        "id" : "d40c3a7d801b3944a036a193366a99f96fbd570c",
        "msg" : "fix examples in sslsniff.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/sslsniff.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/sslsniff.py",
          "man/man8/sslsniff.8",
          "tools/sslsniff_example.txt"
        ],
        "commitId" : "d91b31a59038c9c79ee1c9e6a45149239531b155",
        "timestamp" : 1594190654000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "reformat code, add new option to manpage and usage in sslsniff_example.txt\u000a",
        "date" : "2020-07-07 23:44:14 -0700",
        "id" : "d91b31a59038c9c79ee1c9e6a45149239531b155",
        "msg" : "reformat code, add new option to manpage and usage in sslsniff_example.txt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/sslsniff_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/sslsniff.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/sslsniff.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/sslsniff_example.txt"
        ],
        "commitId" : "1ef6758b1ce5847d2699183d951c0e2bee00ee39",
        "timestamp" : 1594190654000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "example block of --hexdump in sslsniff_example.txt\u000a",
        "date" : "2020-07-07 23:44:14 -0700",
        "id" : "1ef6758b1ce5847d2699183d951c0e2bee00ee39",
        "msg" : "example block of --hexdump in sslsniff_example.txt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/sslsniff_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "d4f6a162363b759f00cecc9aa2293557519f615c",
        "timestamp" : 1594190989000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "docs: fix Ubuntu Eoan spelling\u000a\u000aSigned-off-by: Lorenzo Fontana <fontanalorenz@gmail.com>\u000a",
        "date" : "2020-07-07 23:49:49 -0700",
        "id" : "d4f6a162363b759f00cecc9aa2293557519f615c",
        "msg" : "docs: fix Ubuntu Eoan spelling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md",
          "tools/biotop.py",
          "examples/tracing/bitehist.py",
          "examples/lua/kprobe-latency.lua",
          "docs/tutorial_bcc_python_developer.md",
          "examples/tracing/disksnoop.py",
          "tools/biosnoop.py",
          "tools/old/biosnoop.py",
          "tools/biosnoop.lua"
        ],
        "commitId" : "95c9229ea9f029a1b9e8dcbe86fc67f037c0dfa2",
        "timestamp" : 1594193175000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Replace kprobe function \"blk_account_io_completion\" to \"blk_account_io_done\" for kernel version >= 5.8.0\u000a\u000aThe kernel function \"blk_account_io_completion\" is not available anymore as attach point of Kprobe as of kernel version 5.8.0. Therefore, after discussions, we decided to use function \"blk_account_io_done\" instead in every kprobe attachment to \"blk_account_io_completion\".\u000a",
        "date" : "2020-07-08 00:26:15 -0700",
        "id" : "95c9229ea9f029a1b9e8dcbe86fc67f037c0dfa2",
        "msg" : "Replace kprobe function \"blk_account_io_completion\" to \"blk_account_io_done\" for kernel version >= 5.8.0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/biosnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/bitehist.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/disksnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/lua/kprobe-latency.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/biosnoop.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/biotop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/old/biosnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "docs/tutorial_bcc_python_developer.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/memleak.8",
          "tools/memleak.py",
          "tools/memleak_example.txt"
        ],
        "commitId" : "cd81f13c1ff96927d6e4fffd6a5d9fb0cd354c08",
        "timestamp" : 1594219208000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "memleak: Add workaround to alleviate misjudgments when free is missing\u000a\u000aProfiling in memory part is hard to be accurate because of BPF infrastructure.\u000amemleak keeps misjudging memory leak on the complicated environment which has\u000athe action of free in hard/soft irq.\u000a\u000aFor example, in my misjudged case:\u000a\u000a640 bytes in 10 allocations from stack\u000a--\u000a__kmalloc+0x178 [kernel]\u000a__kmalloc+0x178 [kernel]\u000axhci_urb_enqueue+0x140 [kernel]\u000ausb_hcd_submit_urb+0x5e0 [kernel]\u000a\u000aThis result looks like kernel doesn't free urb_priv. However, it's not true.\u000aThe reason for this leak is because xhci hw irq interrupts during the BPF program.\u000aBPF program is not finished on that CPU, and xhci_irq() will call xhci_urb_free_priv()\u000abefore the end. But the kernel doesn't permit this isr to go into BPF program again.\u000aBecause BPF infrastructure(trace_call_bpf) denied this action.\u000aSo we miss this free action and cause memory leak misjudgment.\u000a\u000aSide-effect:\u000a- Increase overhead for each memory allocation.\u000a- A higher chance to be interrupted at the allocation part causes ignore more allocations.\u000a\u000aThis workaround doesn't solve all misjudgments, the improvement in BPF infrastructure\u000ais the only solution.\u000a",
        "date" : "2020-07-08 07:40:08 -0700",
        "id" : "cd81f13c1ff96927d6e4fffd6a5d9fb0cd354c08",
        "msg" : "memleak: Add workaround to alleviate misjudgments when free is missing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/memleak.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/memleak.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/memleak_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf",
          "src/cc/libbpf.c",
          "src/cc/compat/linux/virtual_bpf.h",
          "docs/kernel-versions.md",
          "src/cc/export/helpers.h"
        ],
        "commitId" : "fab26b4369aa020b412c2c1ba42bc1179b9c3337",
        "timestamp" : 1594223384000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with latest libbpf\u000a\u000async with latest libbpf repo\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-07-08 08:49:44 -0700",
        "id" : "fab26b4369aa020b412c2c1ba42bc1179b9c3337",
        "msg" : "sync with latest libbpf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/maps.bpf.h",
          "libbpf-tools/syscount.bpf.c"
        ],
        "commitId" : "57d10f5b4ed4c27b789cc72292e16daa1e1f9e7a",
        "timestamp" : 1594252404000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/a.s.protopopov",
          "fullName" : "a.s.protopopov"
        },
        "authorEmail" : "a.s.protopopov@gmail.com",
        "comment" : "libbpf-tools: add header to store BPF-side map helpers\u000a\u000aAdd a new header kern_map_helpers.h to store BPF-size map helpers\u000awhich may be used from different programs. On the moment it contains\u000athe bpf_map_lookup_or_try_init helper.\u000a\u000aSigned-off-by: Anton Protopopov <a.s.protopopov@gmail.com>\u000a",
        "date" : "2020-07-08 23:53:24 +0000",
        "id" : "57d10f5b4ed4c27b789cc72292e16daa1e1f9e7a",
        "msg" : "libbpf-tools: add header to store BPF-side map helpers",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/maps.bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/syscount.bpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/syscount.c"
        ],
        "commitId" : "b8cdd214a0fcce7e2086e04f1a1f7a268e841271",
        "timestamp" : 1594252404000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/a.s.protopopov",
          "fullName" : "a.s.protopopov"
        },
        "authorEmail" : "a.s.protopopov@gmail.com",
        "comment" : "libbpf-tools: fix an error message\u000a\u000aA wrong argument (-errno) was passed to strerror, fix it.\u000a\u000aSigned-off-by: Anton Protopopov <a.s.protopopov@gmail.com>\u000a",
        "date" : "2020-07-08 23:53:24 +0000",
        "id" : "b8cdd214a0fcce7e2086e04f1a1f7a268e841271",
        "msg" : "libbpf-tools: fix an error message",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/syscount.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/map_helpers.c",
          "libbpf-tools/map_helpers.h",
          "libbpf-tools/tcpconnect.c",
          "libbpf-tools/tcpconnect.bpf.c",
          "libbpf-tools/tcpconnect.h",
          "libbpf-tools/.gitignore",
          "libbpf-tools/Makefile"
        ],
        "commitId" : "3ef753186420e39e8b9c97d5eb2af7c991339dd7",
        "timestamp" : 1594295281000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/a.s.protopopov",
          "fullName" : "a.s.protopopov"
        },
        "authorEmail" : "a.s.protopopov@gmail.com",
        "comment" : "libbpf-tools: convert BCC tcpconnect to BPF CO-RE version\u000a\u000aAdd a new libbpf-based tool, tcpconnect, and add some helpers which may\u000abe used by other tools. Namely, user_map_helpers.{c,h} files implement\u000aa function dump_hash() which uses map_batch_lookup (if possible) to read\u000aentire hash maps to user space.\u000a\u000aThe tcpconnect acts as the original BCC tool except that --cgroupmap and\u000a--mntnsmap options are not implemented, yet.\u000a\u000aSigned-off-by: Anton Protopopov <a.s.protopopov@gmail.com>\u000a",
        "date" : "2020-07-09 11:48:01 +0000",
        "id" : "3ef753186420e39e8b9c97d5eb2af7c991339dd7",
        "msg" : "libbpf-tools: convert BCC tcpconnect to BPF CO-RE version",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/tcpconnect.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/map_helpers.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/map_helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/tcpconnect.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/tcpconnect.bpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/perf.py",
          "src/python/bcc/libbcc.py"
        ],
        "commitId" : "104d2b3eb6ed1f1bdbc03cb322c6ae917c1b4425",
        "timestamp" : 1594312439000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add .lazy_symbolize field to bcc_symbol_option and add ignored fields to perf_event_attr\u000a",
        "date" : "2020-07-09 09:33:59 -0700",
        "id" : "104d2b3eb6ed1f1bdbc03cb322c6ae917c1b4425",
        "msg" : "Add .lazy_symbolize field to bcc_symbol_option and add ignored fields to perf_event_attr",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/perf.py"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/libbcc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md",
          "tests/python/test_queuestack.py",
          "src/python/bcc/__init__.py",
          "tests/python/CMakeLists.txt",
          "src/python/bcc/table.py"
        ],
        "commitId" : "e70bbdcbcbcd01e5570ba7b9d79e282d16a53d40",
        "timestamp" : 1594486170000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Add Python API and documentation for Queue/Stack Tables (#3013)\u000a\u000a* Add QueueStack Python API\u000a* Add tests for QueueStack Python API\u000a* Add documentation for QueueStack\u000a",
        "date" : "2020-07-11 09:49:30 -0700",
        "id" : "e70bbdcbcbcd01e5570ba7b9d79e282d16a53d40",
        "msg" : "Add Python API and documentation for Queue/Stack Tables (#3013)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "tests/python/test_queuestack.py"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/table.py"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "src/cc/frontends/clang/b_frontend_action.h"
        ],
        "commitId" : "1abab9bd2b68a389db704848c3b9fbb03f8e0c02",
        "timestamp" : 1594570946000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "use bpf_probe_read_kernel for implicit kernel mem read on s390\u000a\u000aCommit f579bf8d60c8 (\"bpf: use bpf_probe_read in implicitly\u000agenerated kernel mem read\") unconditionally use bpf_probe_read()\u000afor implicit kernel memory read in bpf programs.\u000a\u000aThis won't work for s390 with recent kernels since s390 has\u000aoverlap user/kernel addresses and bpf_probe_read() is not\u000aavailable any more.\u000a\u000aThis patch partially reverted Commit f579bf8d60c8 such\u000athat for s390, bpf_probe_read_kernel() will be used\u000awhile other architectures bpf_probe_read() is used.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-07-12 09:22:26 -0700",
        "id" : "1abab9bd2b68a389db704848c3b9fbb03f8e0c02",
        "msg" : "use bpf_probe_read_kernel for implicit kernel mem read on s390",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/test_queuestack_table.cc"
        ],
        "commitId" : "d3a102d5d1029438ec7a1a5450095362f3b56fc1",
        "timestamp" : 1594605495000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix cc queue/stack test kernel version\u000a\u000aThis commit fixes the Kernel version check in test_queuestack_table.cc .\u000aThe correct one, as discussed in #3013, is 4.20 (not 5.0).\u000a\u000aSigned-off-by: Simone Magnani <simonemagnani.96@gmail.com>\u000a",
        "date" : "2020-07-12 18:58:15 -0700",
        "id" : "d3a102d5d1029438ec7a1a5450095362f3b56fc1",
        "msg" : "fix cc queue/stack test kernel version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/test_queuestack_table.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_elf.c"
        ],
        "commitId" : "4efe7fe3e81a65ca4d2cf6eec8055125ca3018f9",
        "timestamp" : 1594621792000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix debug file lookup in bcc_elf_symbol_str\u000a\u000aLogic for looking up debug file in bcc_elf_symbol_str and foreach_sym_core\u000adiffer. This commit factors out relevant code from foreach_sym_core and reuses\u000ait in bcc_elf_symbol_str.\u000a",
        "date" : "2020-07-12 23:29:52 -0700",
        "id" : "4efe7fe3e81a65ca4d2cf6eec8055125ca3018f9",
        "msg" : "fix debug file lookup in bcc_elf_symbol_str",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md"
        ],
        "commitId" : "316b404c28744fd106b3b37cc216693d143a7a2d",
        "timestamp" : 1594835592000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "update reference_guide for implicit kmem access rewriting\u000a\u000aUpdate the reference_guide to spell out for implicit\u000akernel memory access, when rewriter uses bpf_probe_read()\u000a(for non-s390) and when using bpf_probe_read_kernel()\u000a(for s390).\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-07-15 10:53:12 -0700",
        "id" : "316b404c28744fd106b3b37cc216693d143a7a2d",
        "msg" : "update reference_guide for implicit kmem access rewriting",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/biolatency.bpf.c",
          "libbpf-tools/biolatency.h",
          "libbpf-tools/blk_types.h",
          "libbpf-tools/.gitignore",
          "libbpf-tools/biolatency.c",
          "libbpf-tools/Makefile"
        ],
        "commitId" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f",
        "timestamp" : 1594867082000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: add CO-RE biolatency\u000a\u000aSigned-off-by: Wenbo Zhang <ethercflow@gmail.com>\u000a",
        "date" : "2020-07-15 19:38:02 -0700",
        "id" : "222821c8be2c3aa862ddd7e4bf2a10965ae0639f",
        "msg" : "libbpf-tools: add CO-RE biolatency",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/biolatency.bpf.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/biolatency.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/blk_types.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/biolatency.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/sumanthk",
      "fullName" : "sumanthk"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
      "fullName" : "yonghong-song"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jmarchan",
      "fullName" : "jmarchan"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/a.s.protopopov",
      "fullName" : "a.s.protopopov"
    }
  ],
  "runs" : [
    {
      "number" : 605,
      "url" : "https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=fc25/605/"
    },
    {
      "number" : 605,
      "url" : "https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=fc26/605/"
    },
    {
      "number" : 605,
      "url" : "https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=fc27/605/"
    },
    {
      "number" : 605,
      "url" : "https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=fc28/605/"
    },
    {
      "number" : 605,
      "url" : "https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=ubuntu1604/605/"
    },
    {
      "number" : 605,
      "url" : "https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=ubuntu1710/605/"
    },
    {
      "number" : 605,
      "url" : "https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=ubuntu1804/605/"
    }
  ]
}