Lines Matching +full:up +full:- +full:samples
1 // SPDX-License-Identifier: GPL-2.0-or-later
14 #include <asm/cell-pmu.h>
20 static u32 *samples; variable
83 * the two 64-bit buffer entries that make up the in spu_pc_extract()
84 * 128-bit trace_buffer entry. Process two 64-bit values in spu_pc_extract()
92 for (spu = SPUS_PER_TB_ENTRY-1; spu >= 0; spu--) { in spu_pc_extract()
96 samples[spu * TRACE_ARRAY_SIZE + entry] in spu_pc_extract()
98 samples[(spu + SPUS_PER_TB_ENTRY) * TRACE_ARRAY_SIZE + entry] in spu_pc_extract()
148 * the samples. In the very unlikely case that the processing in profile_spus()
150 * started to process the samples. Make sure only one kernel in profile_spus()
151 * thread is working on the samples array at a time. The in profile_spus()
168 samples + (k * TRACE_ARRAY_SIZE), in profile_spus()
182 hrtimer_forward(timer, timer->base->get_time(), kt); in profile_spus()
186 printk(KERN_INFO "SPU_PROF: spu-prof timer ending\n"); in profile_spus()
193 * NOTE: SPU profiling is done system-wide, not per-CPU.
196 * setting up OProfile to count SPU_CYCLES.
208 /* Allocate arrays for collecting SPU PC samples */ in start_spu_profiling_cycles()
209 samples = kcalloc(SPUS_PER_NODE * TRACE_ARRAY_SIZE, sizeof(u32), in start_spu_profiling_cycles()
212 if (!samples) in start_spu_profiling_cycles()
213 return -ENOMEM; in start_spu_profiling_cycles()
224 * NOTE: SPU profiling is done system-wide, not per-CPU.
227 * setting up OProfile to count SPU_CYCLES.
241 kfree(samples); in stop_spu_profiling_cycles()