Lines Matching +full:re +full:- +full:configurable
1 // SPDX-License-Identifier: GPL-2.0-only
4 * Simple profiling. Manages a direct-mapped profile hit count buffer,
5 * with configurable resolution, support for restricting the cpus on
13 * Amortized hit count accounting via per-cpu open-addressed hashtables
64 prof_shift = clamp(par, 0, BITS_PER_LONG - 1); in profile_setup()
74 prof_shift = clamp(par, 0, BITS_PER_LONG - 1); in profile_setup()
91 prof_len = (_etext - _stext) >> prof_shift; in profile_init()
96 return -EINVAL; in profile_init()
114 return -ENOMEM; in profile_init()
120 pc = ((unsigned long)__pc - (unsigned long)_stext) >> prof_shift; in do_profile_hits()
137 /* This is the old kernel-only legacy profiling */ in profile_tick()
163 if (count > (prof_len+1)*sizeof(unsigned int) - p) in read_profile()
164 count = (prof_len+1)*sizeof(unsigned int) - p; in read_profile()
169 return -EFAULT; in read_profile()
170 buf++; p++; count--; read++; in read_profile()
172 pnt = (char *)prof_buffer + p - sizeof(atomic_t); in read_profile()
174 return -EFAULT; in read_profile()
183 return -EINVAL; in setup_profiling_timer()
189 * Writing a 'profiling multiplier' value into it also re-sets the profiling
200 return -EFAULT; in write_profile()
203 return -EINVAL; in write_profile()