| /system/extras/simpleperf/scripts/ |
| D | update.py | 84 def fetch_artifact(branch, build, target, name): argument 90 target, branch, name) 92 cmd = [fetch_artifact_path, '--branch', branch, '--target', target, 98 """Creates a new branch in the project.""" 100 logger().info('Creating branch %s', branch_name) 104 def commit(branch, build, add_paths): argument 111 Taken from branch {branch}.""").format(branch=branch, build=build) 127 def install_new_release(branch, build, install_dir): argument 130 install_entry(branch, build, install_dir, entry) 133 def install_entry(branch, build, install_dir, entry): argument [all …]
|
| D | CONTRIBUTING.md | 9 Changes are normally reviewed on top of the AOSP `master` branch.
|
| /system/extras/simpleperf/ |
| D | branch_list.proto | 17 // The branch list file format is generated by the inject command. The new format is: 47 // vaddr in binary, instr addr before the first branch 50 message Branch { message 51 // Each bit represents a branch: 0 for not branch, 1 for branch. 53 bytes branch = 1; field 58 repeated Branch branches = 2; 88 repeated Branch branches = 3; 90 message Branch { message
|
| D | ETMDecoder.h | 45 // If the last instruction is a branch instruction, and it branches 49 // times the branch is taken 51 // times the branch isn't taken 56 // the binary containing the branch list 58 // the instruction address before the first branch. Bit 0 is set for thumb instructions. 60 // the branch list (one bit for each branch, true for branch taken, false for not taken) 61 std::vector<bool> branch; member
|
| D | BranchListFile.cpp | 27 std::string ETMBranchToProtoString(const std::vector<bool>& branch) { in ETMBranchToProtoString() argument 28 size_t bytes = (branch.size() + 7) / 8; in ETMBranchToProtoString() 30 for (size_t i = 0; i < branch.size(); i++) { in ETMBranchToProtoString() 31 if (branch[i]) { in ETMBranchToProtoString() 39 std::vector<bool> branch(bit_size, false); in ProtoStringToETMBranch() local 42 branch[i] = true; in ProtoStringToETMBranch() 45 return branch; in ProtoStringToETMBranch() 205 [this](const ETMBranchList& branch) { ProcessBranchList(branch); }); in ProcessRecord() argument 286 ++branch_map[branch_list.addr][branch_list.branch]; in ProcessBranchList() 387 for (const auto& [branch, _] : branch_map) { in Write() [all …]
|
| D | BranchListFile_test.cpp | 26 std::vector<bool> branch; in TEST() local 28 branch.push_back(i % 2 == 0); in TEST() 29 std::string s = ETMBranchToProtoString(branch); in TEST() 32 ASSERT_EQ(b, branch[j]); in TEST() 34 std::vector<bool> branch2 = ProtoStringToETMBranch(s, branch.size()); in TEST() 35 ASSERT_EQ(branch, branch2); in TEST() 66 for (const auto& [branch, count1] : b_map1) { in IsETMDataEqual() 67 auto it3 = b_map2.find(branch); in IsETMDataEqual() 127 LBRBranch branch = {0, 1, from_addr, to_addr}; in TEST() local 128 LBRSample sample = {0, from_addr, {branch}}; in TEST()
|
| D | cmd_inject_test.cpp | 101 ASSERT_TRUE(RunInjectCmd({"--output", "branch-list", "-o", tmpfile.path})); in TEST() 114 ASSERT_TRUE(RunInjectCmd({"--output", "branch-list", "-z", "-o", tmpfile.path})); in TEST() 125 {"--binary", "not_exist_binary", "--output", "branch-list", "-o", tmpfile.path})); in TEST() 144 // Inject through etm branch list. in TEST() 147 ASSERT_TRUE(RunInjectCmd({"-i", recording_file, "-o", tmpfile.path, "--output", "branch-list"})); in TEST() 193 ASSERT_TRUE(RunInjectCmd({"--output", "branch-list", "-o", tmpfile.path})); in TEST() 197 "branch-list", "-o", tmpfile2.path})); in TEST() 202 // Accept invalid branch list files. in TEST() 207 "branch-list", "-o", tmpfile2.path})); in TEST() 218 ASSERT_TRUE(RunInjectCmd({"--output", "branch-list", "-o", branch_list_files.back()->path})); in TEST() [all …]
|
| D | cmd_inject.cpp | 134 // Base class for reading perf.data and generating AutoFDO or branch list data. 265 // Read perf.data with ETM data and generate AutoFDO or branch list data. 296 [this](const ETMBranchList& branch) { ProcessETMBranchList(branch); }); in ProcessRecord() argument 341 LOG(WARNING) << "--exclude-perf has no effect on perf.data with etm branch list"; in ProcessETMBranchListFeature() 344 LOG(ERROR) << "convert to autofdo format isn't support on perf.data with etm branch list"; in ProcessETMBranchListFeature() 379 ++branch_map[branch_list.addr][branch_list.branch]; in ProcessETMBranchList() 409 // Store etm branch list data. 425 const LBRBranch& branch = sample.branches[i]; in ConvertLBRDataToAutoFDO() local 426 if (branch.from_binary_id == 0) { in ConvertLBRDataToAutoFDO() 429 if (branch.from_binary_id > binaries.size()) { in ConvertLBRDataToAutoFDO() [all …]
|
| D | ETMDecoder.cpp | 344 // Similar to ITrcGenElemIn, but add next instruction info, which is needed to get branch to addr 465 // OpenCSD may cache a list of InstrRange elements, making it inaccurate to get branch to in ProcessElement() 478 // It is based on the assumption that we only do immediate branch inside a binary, in ProcessElement() 540 // 2. Branch to addresses of direct branch instructions across binaries. 548 ETMBranchList branch; member 559 LOG(WARNING) << "branch list collection isn't accurate with non-zero speculation length"; in CheckConfigs() 565 LOG(WARNING) << "branch list collection will lose some data with return stack enabled"; in CheckConfigs() 584 // Flush branch when seeing an Addr packet. Because it isn't correct to concatenate in ProcessPacket() 593 // An atom packet contains a branch list. We may receive one or more atom packets in a row, in ProcessPacket() 599 // Flush branch when seeing a flush or reset operation. in ProcessPacket() [all …]
|
| D | event_table.json | 17 ["0x000D", "BR_IMMED_RETIRED", "Branch Instruction architecturally executed, immediate"], 18 …["0x000E", "BR_RETURN_RETIRED", "Branch Instruction architecturally executed, procedure return, ta… 20 …["0x0010", "BR_MIS_PRED", "Branch instruction Speculatively executed, mispredicted or not predicte… 22 ["0x0012", "BR_PRED", "Predictable branch instruction Speculatively executed"], 36 ["0x0021", "BR_RETIRED", "Instruction architecturally executed, branch"], 37 … ["0x0022", "BR_MIS_PRED_RETIRED", "Branch Instruction architecturally executed, mispredicted "], 114 ["0x0078", "BR_IMMED_SPEC", "Branch Speculatively executed, immediate branch"], 115 ["0x0079", "BR_RETURN_SPEC", "Branch Speculatively executed, procedure return"], 116 ["0x007A", "BR_INDIRECT_SPEC", "Branch Speculatively executed, indirect branch"], 383 ["0x8107", "BR_SKIP_RETIRED", "Branch Instruction architecturally executed, not taken"], [all …]
|
| D | README.md | 16 To snap the aosp-simpleperf-release branch to ToT AOSP main and kick off a 19 and choose "aosp-simpleperf-release" from the "Branch" dropdown. Then click 46 Download ndk branch.
|
| D | event_table_generator.py | 36 "branch-instructions", 37 "branch-misses", 85 ["branch", "PERF_COUNT_HW_CACHE_BPU"],
|
| /system/chre/ |
| D | bundle_chre.sh | 10 BRANCH=`git rev-parse --abbrev-ref --symbolic-full-name @{u}` 11 HEAD_HASH=`git describe --always --long $BRANCH` 13 git bundle create $FILENAME $BRANCH 16 echo "Created bundle for $BRANCH as $FILENAME"
|
| /system/extras/simpleperf/doc/ |
| D | collect_lbr_data_for_autofdo.md | 21 instructions for collecting Last Branch Record (LBR) related profiles on 49 cache performance and reduce branch mispredictions. 80 parameters include instruction cycles, cache hits, cache misses, branch 83 Branch Record (LBR) is indeed a part of Intel's Performance Monitoring 87 The Last Branch Record (LBR) is an advanced CPU feature designed to 89 executed branch instructions. This capability serves as a vital tool for 96 **Branch Statistics**: One of the remarkable applications of LBR is its 97 ability to gather comprehensive branch statistics in C++ programs. This 118 branch instructions, preserving a trail of execution paths. 134 compared to traditional software-based branch recording methods, making [all …]
|
| D | collect_etm_data_for_autofdo.md | 9 Coresight components. ETM data contains branch records, similar to Last Branch Records (LBRs) on 46 # into an intermediate branch-list format. 47 redfin:/data/local/tmp \# simpleperf inject --output branch-list -o branch_list.data 58 # perf_inject.data is a text file, containing branch counts for each library. 73 The generated perf_inject.data may contain branch info for multiple binaries. But AutoFDO only 80 branch with count info for binary1 84 branch with count info for binary2 96 # perf_inject_binary1.data is split from perf_inject.data, and only contains branch info for binary… 99 # perf_inject_kernel.data is split from perf_inject.data, and only contains branch info for [kernel… 132 (device) /data/local/tmp $ simpleperf inject -i perf.data --output branch-list -o branch_list.data [all …]
|
| /system/extras/simpleperf/runtest/ |
| D | autofdo_addr_test.cpp | 21 // 1. Generate branch list file on device: 23 // (device) $ simpleperf inject -i perf.data --output branch-list -o branch_user.data 38 // 1. Generate branch list file on device: 40 // (device) $ simpleperf inject -i perf.data --output branch-list -o branch.data 43 // (device) $ simpleperf inject -i branch.data --symdir . 64 // 1. Generate branch list file on device (as for create_llvm_prof)
|
| D | autofdo_inline_test.cpp | 38 if (code < bound) { // <== This is mispredicted branch (conditional branch) in cond_branch_example_function() 48 } while (symbol < 0x100); // conditional branch in cond_branch_example_function() 57 // Call the conditional branch example function in main()
|
| /system/sepolicy/tools/ |
| D | sepolicy_generate_compat.py | 73 def fetch_artifact(branch, build, pattern, destination='.'): argument 77 branch: string, branch to pull build artifacts from 84 fetch_artifact_path, '--branch', branch, '--target', 122 def download_img_zip(branch, build, destination='.'): argument 126 branch: string, branch to pull build artifacts from (e.g. "sc-v2-dev") 134 logging.info('Downloading %s mapping file from branch %s build %s...' % 135 (ver, branch, build)) 137 fetch_artifact(branch, build, artifact_pattern, temp_dir) 322 '--branch', 323 help='Branch to pull build from. e.g. "sc-v2-dev"') [all …]
|
| /system/cros-codecs/ci/test-cases/ |
| D | run_tests.py | 11 URL_RUNS="https://api.github.com/repos/{repo}/actions/runs?head-sha={head_sha}&head-branch={head_br… 27 def retrieve_ccdec_github(sha, branch, repo, token): argument 32 …runs = requests.get(URL_RUNS.format(head_sha=sha, head_branch=branch, repo=repo), headers={"Accept… 71 # Retrieve built sha and branch 74 branch = run['head_branch'] 79 if retrieve_ccdec_github(sha, branch, repo, token):
|
| /system/extras/perf2cfg/perf2cfg/ |
| D | events.py | 30 'branch-instructions', 31 'branch-misses',
|
| /system/cros-codecs/ci/ |
| D | lava_job_generate.py | 19 argparser.add_argument('--test-branch', help='The branch being tested', default='main')
|
| D | template.yaml | 48 branch: '{{ test_branch }}' 59 branch: '{{ test_branch }}'
|
| /system/extras/simpleperf/scripts/bin/android/arm/ |
| D | simpleperf | ... function return or system call return ind_call: any indirect branch u: only when the branch target is at the ... |
| /system/connectivity/wificond/net/kernel-header-latest/ |
| D | README.txt | 12 Last update from kernel branch: `android14-linux-6.1-XX`
|
| /system/extras/module_ndk_libs/libnativehelper/ |
| D | Android.bp | 16 // platform/libnativehelper project in the ART branch. Any changes here should
|