Page MenuHomeFreeBSD

Fix "smp_targeted_tlb_shootdown: interrupts disabled" panics
ClosedPublic

Authored by jtl on Feb 24 2017, 5:25 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Nov 23, 12:05 AM
Unknown Object (File)
Oct 1 2024, 9:31 PM
Unknown Object (File)
Sep 27 2024, 5:09 AM
Unknown Object (File)
Sep 19 2024, 6:08 AM
Unknown Object (File)
Sep 9 2024, 2:56 AM
Unknown Object (File)
Sep 8 2024, 2:52 PM
Unknown Object (File)
Sep 8 2024, 11:15 AM
Unknown Object (File)
Sep 8 2024, 2:06 AM
Subscribers

Details

Summary

We have seen several cases recently where we appear to get a double-fault: we have an original panic. Then, instead of writing the core to the dump device, the kernel has a second panic: "smp_targeted_tlb_shootdown: interrupts disabled".

This is an attempt to fix that second panic.

This should be safe since we can't notify other CPUs of the TLB shootdown when they're stopped anyway.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jtl retitled this revision from to Fix "smp_targeted_tlb_shootdown: interrupts disabled" panics.
jtl updated this object.
jtl edited the test plan for this revision. (Show Details)
jtl added reviewers: kib, jhb.

I think that it might be unsafe to return from ddb into normal operations with this patch, if ddb activity caused any change in the mappings. Some ddb commands might allocate memory, e.g. coredumping.

You need to flush TLB somewhere in cpustop_handler_post(), most likely, to fix this.

jtl edited edge metadata.

Invalidate TLB when restarting other CPUs.

In D9786#201995, @kib wrote:

I think that it might be unsafe to return from ddb into normal operations with this patch, if ddb activity caused any change in the mappings. Some ddb commands might allocate memory, e.g. coredumping.

You need to flush TLB somewhere in cpustop_handler_post(), most likely, to fix this.

Ugh. You're right.

I should have known better. :-)

I think it should be fixed now...

kib edited edge metadata.
This revision is now accepted and ready to land.Feb 24 2017, 6:36 PM
This revision was automatically updated to reflect the committed changes.