diff options
author | markj <markj@FreeBSD.org> | 2016-12-29 21:03:00 +0000 |
---|---|---|
committer | markj <markj@FreeBSD.org> | 2016-12-29 21:03:00 +0000 |
commit | 12cdce9f94a49f159d2e317374ad36a3a336db18 (patch) | |
tree | cd9b4584675c7efbdd23267763fd8ea00c7658c7 /sys/x86 | |
parent | ea806283fa596574bca077962072e4a9818d67b4 (diff) | |
download | FreeBSD-src-12cdce9f94a49f159d2e317374ad36a3a336db18.zip FreeBSD-src-12cdce9f94a49f159d2e317374ad36a3a336db18.tar.gz |
MFC r309657:
Require the STACK option for code that captures stacks of running threads.
Diffstat (limited to 'sys/x86')
-rw-r--r-- | sys/x86/x86/mca.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/x86/x86/mca.c b/sys/x86/x86/mca.c index d005180..1d99efc 100644 --- a/sys/x86/x86/mca.c +++ b/sys/x86/x86/mca.c @@ -508,7 +508,7 @@ mca_record_entry(enum scan_mode mode, const struct mca_record *record) 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_createtq(void *dummy) 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); |