1. 10 Mar, 2018 2 commits
  2. 09 Mar, 2018 2 commits
  3. 08 Mar, 2018 4 commits
  4. 06 Mar, 2018 3 commits
  5. 05 Mar, 2018 2 commits
  6. 04 Mar, 2018 3 commits
  7. 03 Mar, 2018 4 commits
  8. 02 Mar, 2018 2 commits
  9. 01 Mar, 2018 8 commits
  10. 28 Feb, 2018 8 commits
    • yonghong-song's avatar
      Merge pull request #1611 from palmtenor/fix_common_include · 7f99ebdf
      yonghong-song authored
      Avoid including common.h in BPFTable.h
      7f99ebdf
    • Teng Qin's avatar
      Avoid including common.h in BPFTable.h · d83805d2
      Teng Qin authored
      d83805d2
    • yonghong-song's avatar
      Merge pull request #1607 from palmtenor/no_reader · 1fe85d07
      yonghong-song authored
      Remove PERF_SAMPLE_CALLCHAIN logic from TRACEPOINT events
      1fe85d07
    • Teng Qin's avatar
      Clean-up TRACEPOINT logic from perf reader · d0e48edb
      Teng Qin authored
      d0e48edb
    • Teng Qin's avatar
      Do not use perf reader for TRACEPOINT events · fafbf3ca
      Teng Qin authored
      fafbf3ca
    • 4ast's avatar
      Merge pull request #1610 from iovisor/yhs_dev · abef8350
      4ast authored
      free llvm engine/context memory when rw_engine is not used
      abef8350
    • Yonghong Song's avatar
      free llvm engine/context memory when rw_engine is not used · af96bba7
      Yonghong Song authored
      bcc utilizes MCJIT to generate final code and the code
      is actually runnable in the process. This, however,
      may have negative memory consumption impact.
      All data will be actually allocated in memory.
      
      For example, the following large array,
        #define TCP6_RXMIT_BUCKET_BITS 18
        struct tcp6_rxmit_tbl {
          __u64 buckets[1 << TCP6_RXMIT_BUCKET_BITS];
        };
        BPF_ARRAY(rxmit_marking_map, struct tcp6_rxmit_tbl, 1);
      is added to examples/cpp/HelloWorld.cpp.
      Internally, bcc will define a structure type rxmit_marking_map_table
      with members `struct tcp6_rxmit_tbl leaf` and a variable
      with this structure type. (see src/cc/export/helpers.h),
      so that rw_engine can traverse the type to generate
      proper sscanf/snprintf functions.
      
      Even with rw_engine is disabled, the RSS still increased
      from 6MB to 12MB. The array size is roughly 2MB.
      The additional 4MB overhead is due to some llvm internal overhead
      which I did not root cause it.
      
      If rw_engine is disabled, we can actually free llvm
      engine and context memory after copying the section data.
      We do not need to copy map section data since it is not
      used later on. Only map size is needed.
      
      We cannot free llvm context memory if rw_engine is enabled since context
      is shared between regular llvm module and sscanf module.
      
      For the above HelloWorld example, if rw_engine is disabled,
      this patch is able to reduce the RSS memory from 12MB to 6MB.
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      af96bba7
    • 4ast's avatar
      Merge pull request #1608 from iovisor/yhs_dev · d7814b79
      4ast authored
      setup some bpf_module data structures correctly when rw_engine is disabled
      d7814b79
  11. 27 Feb, 2018 2 commits
    • Yonghong Song's avatar
      setup some bpf_module data structures correctly when rw_engine is disabled · 31bf1c5c
      Yonghong Song authored
      Commit db7b8eb0 ("add a BPFModule API to disable rw_engine
      sscanf/snprintf functions") permits to disable rw_engine so that
      memory can be saved for structures with large arrays. As a result,
      the function BPFModule::annotate(), which is used to generate
      "sscanf" module, is not called when rw_engine is disabled.
      
      Besides generating "sscanf" module, however, BPFModule::annotate()
      also sets up several other data structures which are used for
      map/table manipulation. This patch implements BPFModule::annotate_light(),
      which will be called when rw_engine is disabled, to
      setup these data structures.
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      31bf1c5c
    • 4ast's avatar
      Merge pull request #1595 from iovisor/yhs_dev · cab4d7c6
      4ast authored
      fix hang with "trace.py --max-events #"
      cab4d7c6