Page MenuHomeFreeBSD

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

Authored by ehem_freebsd_m5p.com on Jun 1 2021, 3:43 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 11, 5:38 AM
Unknown Object (File)
Fri, Nov 8, 12:17 AM
Unknown Object (File)
Wed, Nov 6, 1:33 PM
Unknown Object (File)
Tue, Nov 5, 11:40 AM
Unknown Object (File)
Tue, Oct 22, 6:10 PM
Unknown Object (File)
Fri, Oct 18, 7:53 AM
Unknown Object (File)
Thu, Oct 17, 7:46 AM
Unknown Object (File)
Thu, Oct 17, 7:42 AM
Subscribers

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 Passed
Unit
No Test Coverage
Build Status
Buildable 40266
Build 37155: 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.

Another signed/unsigned update, sorry.

Another small update for the sign auditing.

sys/x86/xen/xen_intr.c
748–749 ↗(On Diff #98048)

Based on what I saw in D32866, I suspect there should be a intr_event_bind() here.

Updating to ensure consistency with what I've got. Should still apply, but updates on D30743 have made application unclean.

This revision was not accepted when it landed; it landed in state Needs Review.Mar 29 2023, 7:55 AM
This revision was automatically updated to reflect the committed changes.