Page MenuHomeFreeBSD

D8783.diff
No OneTemporary

D8783.diff

Index: head/sys/x86/x86/mca.c
===================================================================
--- head/sys/x86/x86/mca.c
+++ head/sys/x86/x86/mca.c
@@ -508,7 +508,7 @@
STAILQ_INSERT_TAIL(&mca_records, rec, link);
mca_count++;
mtx_unlock_spin(&mca_lock);
- if (mode == CMCI)
+ if (mode == CMCI && !cold)
taskqueue_enqueue(mca_tq, &mca_refill_task);
}
@@ -714,6 +714,9 @@
mca_tq = taskqueue_create_fast("mca", M_WAITOK,
taskqueue_thread_enqueue, &mca_tq);
taskqueue_start_threads(&mca_tq, 1, PI_SWI(SWI_TQ), "mca taskq");
+
+ /* CMCIs during boot may have claimed items from the freelist. */
+ mca_fill_freelist();
}
SYSINIT(mca_createtq, SI_SUB_CONFIGURE, SI_ORDER_ANY, mca_createtq, NULL);

File Metadata

Mime Type
text/plain
Expires
Sun, Aug 30, 12:45 AM (5 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37552509
Default Alt Text
D8783.diff (720 B)

Event Timeline