Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / arch / x86 / oprofile / op_model_amd.c
index 9fd8a56..9cbb710 100644 (file)
@@ -609,16 +609,21 @@ static int setup_ibs_ctl(int ibs_eilvt_off)
        return 0;
 }
 
+/*
+ * This runs only on the current cpu. We try to find an LVT offset and
+ * setup the local APIC. For this we must disable preemption. On
+ * success we initialize all nodes with this offset. This updates then
+ * the offset in the IBS_CTL per-node msr. The per-core APIC setup of
+ * the IBS interrupt vector is called from op_amd_setup_ctrs()/op_-
+ * amd_cpu_shutdown() using the new offset.
+ */
 static int force_ibs_eilvt_setup(void)
 {
        int offset;
        int ret;
 
-       /*
-        * find the next free available EILVT entry, skip offset 0,
-        * pin search to this cpu
-        */
        preempt_disable();
+       /* find the next free available EILVT entry, skip offset 0 */
        for (offset = 1; offset < APIC_EILVT_NR_MAX; offset++) {
                if (get_eilvt(offset))
                        break;