Page MenuHomeFreeBSD

xen/intr: merge parts of resume functionality into new function
Needs ReviewPublic

Authored by ehem_freebsd_m5p.com on Jun 1 2021, 3:43 PM.

Details

Summary

The portions of xen_rebind_ipi() and xen_rebind_virq() were already
near-identical. While xen_rebind_ipi() should panic() on
single-processor, still having the functionality to invoke seems
harmless.

Meanwhile much of the loop from xen_intr_resume() seemed to want to be
closer to this same code. This pushes related bits closer together.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 40794
Build 37683: arc lint + arc unit

Event Timeline

Fixing a bug which was found while glancing at this delta.

Removing one line which really should have been removed before.

Move the isrc->xi_cpu = 0; line lower, hopefully hinting this is part of the xen_intr_assign_cpu() call.

Small update, keep panic strings closer to original, but add function name. Should make diagnosis easier if this ever gets triggered.

Fix a potential unused variable warning. Single-processor systems almost seem archaic, but we should still function on such.

Remove a bit more unused in case of uniprocessor code from uniprocessor builds. Such are actually rather more sensible in case of virtual machines...

Ugh! Hopefully finish the hunt for bits which disappear if uniprocessor.

Fixing issue discovered during review. The blanket wipe of ->xi_port in xen_intr_resume() can't be removed until D30599.

I'm wondering if I should merge D30599 into D30598. D30598 is simply a precursor to implementing D30599.