Page MenuHomeFreeBSD

D12276.diff
No OneTemporary

D12276.diff

diff --git a/sys/x86/x86/mca.c b/sys/x86/x86/mca.c
--- a/sys/x86/x86/mca.c
+++ b/sys/x86/x86/mca.c
@@ -133,6 +133,7 @@
static struct task mca_resize_task;
static struct timeout_task mca_scan_task;
static struct mtx mca_lock;
+static bool mca_startup_done = false;
/* Statistics on number of MCA events by type, updated atomically. */
static uint64_t mca_stats[MCA_T_COUNT];
@@ -1025,7 +1026,7 @@
mtx_unlock_spin(&mca_lock);
if (mode == POLLED)
mca_resize_freelist();
- else if (!cold)
+ else if (mca_startup_done)
taskqueue_enqueue(mca_tq, &mca_resize_task);
}
@@ -1097,7 +1098,7 @@
doresize = true;
}
mtx_unlock_spin(&mca_lock);
- if (doresize && !cold)
+ if (doresize && mca_startup_done)
taskqueue_enqueue(mca_tq, &mca_resize_task);
return (error);
}
@@ -1115,6 +1116,7 @@
taskqueue_start_threads(&mca_tq, 1, PI_SWI(SWI_TQ), "mca taskq");
taskqueue_enqueue_timeout_sbt(mca_tq, &mca_scan_task,
mca_ticks * SBT_1S, 0, C_PREL(1));
+ mca_startup_done = true;
}
SYSINIT(mca_startup, SI_SUB_KICK_SCHEDULER, SI_ORDER_ANY, mca_startup, NULL);

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 9, 8:23 PM (14 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23310073
Default Alt Text
D12276.diff (1 KB)

Event Timeline