|
@@ -36,7 +36,7 @@ static u64 intel_perfmon_event_map[PERF_COUNT_HW_MAX] __read_mostly =
|
|
|
[PERF_COUNT_HW_BUS_CYCLES] = 0x013c,
|
|
|
};
|
|
|
|
|
|
-static struct event_constraint intel_core_event_constraints[] =
|
|
|
+static struct event_constraint intel_core_event_constraints[] __read_mostly =
|
|
|
{
|
|
|
INTEL_EVENT_CONSTRAINT(0x11, 0x2), /* FP_ASSIST */
|
|
|
INTEL_EVENT_CONSTRAINT(0x12, 0x2), /* MUL */
|
|
@@ -47,7 +47,7 @@ static struct event_constraint intel_core_event_constraints[] =
|
|
|
EVENT_CONSTRAINT_END
|
|
|
};
|
|
|
|
|
|
-static struct event_constraint intel_core2_event_constraints[] =
|
|
|
+static struct event_constraint intel_core2_event_constraints[] __read_mostly =
|
|
|
{
|
|
|
FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */
|
|
|
FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */
|
|
@@ -70,7 +70,7 @@ static struct event_constraint intel_core2_event_constraints[] =
|
|
|
EVENT_CONSTRAINT_END
|
|
|
};
|
|
|
|
|
|
-static struct event_constraint intel_nehalem_event_constraints[] =
|
|
|
+static struct event_constraint intel_nehalem_event_constraints[] __read_mostly =
|
|
|
{
|
|
|
FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */
|
|
|
FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */
|
|
@@ -86,19 +86,19 @@ static struct event_constraint intel_nehalem_event_constraints[] =
|
|
|
EVENT_CONSTRAINT_END
|
|
|
};
|
|
|
|
|
|
-static struct extra_reg intel_nehalem_extra_regs[] =
|
|
|
+static struct extra_reg intel_nehalem_extra_regs[] __read_mostly =
|
|
|
{
|
|
|
INTEL_EVENT_EXTRA_REG(0xb7, MSR_OFFCORE_RSP_0, 0xffff),
|
|
|
EVENT_EXTRA_END
|
|
|
};
|
|
|
|
|
|
-static struct event_constraint intel_nehalem_percore_constraints[] =
|
|
|
+static struct event_constraint intel_nehalem_percore_constraints[] __read_mostly =
|
|
|
{
|
|
|
INTEL_EVENT_CONSTRAINT(0xb7, 0),
|
|
|
EVENT_CONSTRAINT_END
|
|
|
};
|
|
|
|
|
|
-static struct event_constraint intel_westmere_event_constraints[] =
|
|
|
+static struct event_constraint intel_westmere_event_constraints[] __read_mostly =
|
|
|
{
|
|
|
FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */
|
|
|
FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */
|
|
@@ -110,7 +110,7 @@ static struct event_constraint intel_westmere_event_constraints[] =
|
|
|
EVENT_CONSTRAINT_END
|
|
|
};
|
|
|
|
|
|
-static struct event_constraint intel_snb_event_constraints[] =
|
|
|
+static struct event_constraint intel_snb_event_constraints[] __read_mostly =
|
|
|
{
|
|
|
FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */
|
|
|
FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */
|
|
@@ -123,21 +123,21 @@ static struct event_constraint intel_snb_event_constraints[] =
|
|
|
EVENT_CONSTRAINT_END
|
|
|
};
|
|
|
|
|
|
-static struct extra_reg intel_westmere_extra_regs[] =
|
|
|
+static struct extra_reg intel_westmere_extra_regs[] __read_mostly =
|
|
|
{
|
|
|
INTEL_EVENT_EXTRA_REG(0xb7, MSR_OFFCORE_RSP_0, 0xffff),
|
|
|
INTEL_EVENT_EXTRA_REG(0xbb, MSR_OFFCORE_RSP_1, 0xffff),
|
|
|
EVENT_EXTRA_END
|
|
|
};
|
|
|
|
|
|
-static struct event_constraint intel_westmere_percore_constraints[] =
|
|
|
+static struct event_constraint intel_westmere_percore_constraints[] __read_mostly =
|
|
|
{
|
|
|
INTEL_EVENT_CONSTRAINT(0xb7, 0),
|
|
|
INTEL_EVENT_CONSTRAINT(0xbb, 0),
|
|
|
EVENT_CONSTRAINT_END
|
|
|
};
|
|
|
|
|
|
-static struct event_constraint intel_gen_event_constraints[] =
|
|
|
+static struct event_constraint intel_gen_event_constraints[] __read_mostly =
|
|
|
{
|
|
|
FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */
|
|
|
FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */
|