X86_PMC_IDX_MAX
static unsigned int event_offsets[X86_PMC_IDX_MAX] __read_mostly;
static unsigned int count_offsets[X86_PMC_IDX_MAX] __read_mostly;
for_each_set_bit(i, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(i, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for (i = 0, wmin = X86_PMC_IDX_MAX, wmax = 0; i < n; i++) {
DEFINE_PER_CPU(u64 [X86_PMC_IDX_MAX], pmc_prev_left);
int assign[X86_PMC_IDX_MAX];
for_each_set_bit(idx, cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, fixed_cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(i, (unsigned long *)&cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(i, (unsigned long *)&cntr_mask, X86_PMC_IDX_MAX) {
int assign[X86_PMC_IDX_MAX];
i = X86_PMC_IDX_MAX;
for_each_set_bit(i, (unsigned long *)&cntr_mask, X86_PMC_IDX_MAX) {
if (bitmap_empty(cpuc->dirty, X86_PMC_IDX_MAX))
for_each_set_bit(i, cpuc->dirty, X86_PMC_IDX_MAX) {
bitmap_zero(cpuc->dirty, X86_PMC_IDX_MAX);
for_each_set_bit(i, cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(i, fixed_cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit_from(idx, c->idxmsk, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, (unsigned long *)&event->attr.config2, X86_PMC_IDX_MAX) {
for_each_set_bit(bit, (unsigned long *)&guest_pebs_idxs, X86_PMC_IDX_MAX) {
for_each_set_bit(bit, (unsigned long *)&status, X86_PMC_IDX_MAX) {
for_each_set_bit(i, c->idxmsk, X86_PMC_IDX_MAX) {
bitmap_copy(c1->idxmsk, c2->idxmsk, X86_PMC_IDX_MAX);
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
size_t sz = X86_PMC_IDX_MAX * sizeof(struct event_constraint);
if (WARN_ON(event->hw.idx < 0 || event->hw.idx >= X86_PMC_IDX_MAX))
for_each_set_bit(bit, (unsigned long *)&pebs_enabled, X86_PMC_IDX_MAX) {
for_each_set_bit(bit, (unsigned long *)&pebs_status, X86_PMC_IDX_MAX) {
for_each_set_bit(bit, (unsigned long *)&mask, X86_PMC_IDX_MAX) {
intel_pmu_pebs_event_update_no_drain(cpuc, X86_PMC_IDX_MAX);
for_each_set_bit(bit, (unsigned long *)&status, X86_PMC_IDX_MAX) {
int i, j, pos = 0, order[X86_PMC_IDX_MAX];
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
unsigned long used_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
bitmap_zero(used_mask, X86_PMC_IDX_MAX);
for_each_set_bit(i, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
for_each_set_bit(idx, x86_pmu.cntr_mask, X86_PMC_IDX_MAX) {
static DEFINE_PER_CPU(unsigned long [BITS_TO_LONGS(X86_PMC_IDX_MAX)], p4_running);
DECLARE_PER_CPU(u64 [X86_PMC_IDX_MAX], pmc_prev_left);
struct perf_event *owners[X86_PMC_IDX_MAX];
struct event_constraint event_constraints[X86_PMC_IDX_MAX];
enum intel_excl_state_type state[X86_PMC_IDX_MAX];
struct perf_event *events[X86_PMC_IDX_MAX]; /* in counter order */
unsigned long active_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
unsigned long dirty[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
int assign[X86_PMC_IDX_MAX]; /* event to counter assignment */
u64 tags[X86_PMC_IDX_MAX];
struct perf_event *event_list[X86_PMC_IDX_MAX]; /* in enabled order */
struct event_constraint *event_constraint[X86_PMC_IDX_MAX];
u64 acr_cfg_b[X86_PMC_IDX_MAX];
u64 acr_cfg_c[X86_PMC_IDX_MAX];
u64 cfg_c_val[X86_PMC_IDX_MAX];
struct perf_guest_switch_msr guest_switch_msrs[X86_PMC_IDX_MAX];
unsigned long idxmsk[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
unsigned long cntr_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
unsigned long fixed_cntr_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
unsigned long acr_cntr_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
unsigned long acr_cause_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
unsigned long cntr_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
unsigned long fixed_cntr_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
unsigned long acr_cntr_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
unsigned long acr_cause_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
for_each_set_bit(bit, (unsigned long *)&status, X86_PMC_IDX_MAX) {
DECLARE_BITMAP(reprogram_pmi, X86_PMC_IDX_MAX);
DECLARE_BITMAP(all_valid_pmc_idx, X86_PMC_IDX_MAX);
DECLARE_BITMAP(pmc_in_use, X86_PMC_IDX_MAX);
DECLARE_BITMAP(pmc_counting_instructions, X86_PMC_IDX_MAX);
DECLARE_BITMAP(pmc_counting_branches, X86_PMC_IDX_MAX);
DECLARE_BITMAP(bitmask, X86_PMC_IDX_MAX);
pmu->pmc_in_use, X86_PMC_IDX_MAX);
bitmap_zero(pmu->pmc_in_use, X86_PMC_IDX_MAX);
DECLARE_BITMAP(bitmap, X86_PMC_IDX_MAX);
BUILD_BUG_ON(sizeof(pmu->global_ctrl) * BITS_PER_BYTE != X86_PMC_IDX_MAX);
if (bitmap_empty(event_pmcs, X86_PMC_IDX_MAX))
bitmap_copy(bitmap, event_pmcs, X86_PMC_IDX_MAX);
(unsigned long *)&pmu->global_ctrl, X86_PMC_IDX_MAX))
DECLARE_BITMAP(bitmap, X86_PMC_IDX_MAX);
bitmap_copy(bitmap, pmu->reprogram_pmi, X86_PMC_IDX_MAX);
bitmap_zero(pmu->reprogram_pmi, X86_PMC_IDX_MAX);
bitmap_zero(pmu->all_valid_pmc_idx, X86_PMC_IDX_MAX);
for_each_set_bit(i, bitmap, X86_PMC_IDX_MAX) \
for_each_set_bit(bit, (unsigned long *)&diff, X86_PMC_IDX_MAX)
X86_PMC_IDX_MAX);