Page MenuHomeFreeBSD

Invalidate reply descriptors earlier
AcceptedPublic

Authored by scottl on Apr 15 2018, 2:34 PM.

Details

Summary

Invalidate reply descriptors earlier in the interrupt processing so
that any reentrancy detects prior use. Re-entrancy may or may not
be intentional or useful, but this will help with needless foot
shooting.

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

scottl created this revision.Apr 15 2018, 2:34 PM
slm accepted this revision.Apr 16 2018, 4:36 PM
This revision is now accepted and ready to land.Apr 16 2018, 4:36 PM
imp accepted this revision.Apr 16 2018, 5:17 PM
ken accepted this revision.Apr 16 2018, 6:16 PM

Looks good. Are you going to do the same thing in the mps(4) driver?

scottl updated this revision to Diff 51770.Dec 9 2018, 3:16 AM

Switch to using an atomic swap for grabbing and clearing the reply
descriptor. This also undoes the unneeded churn from the last
revision. It makes the driver reliant on there being 64bit atomics,
which means that it won't work on powerpc anymore. C'est la vie!

This revision now requires review to proceed.Dec 9 2018, 3:16 AM
jhibbits accepted this revision.Jan 13 2019, 2:45 AM

You have my blessing to remove mps from powerpc GENERIC. Keep it in GENERIC64, though. I've heard of people using mps and mpr devices in TALOS machines (mostly with Linux).

At some point in the near future I should write the atomic64's for 32-bit powerpc. It's been on my TODO list for about 4 years now.

This revision is now accepted and ready to land.Jan 13 2019, 2:45 AM