Page MenuHomeFreeBSD

hyperv/vmbus: Select an IDT vector has lower priority than LAPIC timer and IPIs vectors
AbandonedPublic

Authored by sepherosa_gmail.com on Feb 16 2016, 6:57 AM.
Tags
None
Referenced Files
F103712476: D5291.diff
Thu, Nov 28, 8:55 AM
Unknown Object (File)
Sat, Nov 16, 1:41 AM
Unknown Object (File)
Sat, Nov 16, 1:38 AM
Unknown Object (File)
Oct 27 2024, 8:40 PM
Unknown Object (File)
Oct 20 2024, 1:07 AM
Unknown Object (File)
Oct 20 2024, 1:07 AM
Unknown Object (File)
Oct 20 2024, 12:49 AM
Unknown Object (File)
Oct 3 2024, 5:24 AM

Details

Summary

Better and simple solution is to do the same things as XEN'a EVTCHN, but that will require us to have a hyperv specific file always reside in kernel.

Inspired by a discussion w/ Dexuan

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

sepherosa_gmail.com retitled this revision from to hyperv/vmbus: Select an IDT vector has lower priority than LAPIC timer and IPIs vectors.
sepherosa_gmail.com updated this object.
sepherosa_gmail.com edited the test plan for this revision. (Show Details)

I guess this supersedes D5254? I would expand the commit message so that it's explicitly stated why the hypervisor vector should have a lower priority.

I guess this supersedes D5254? I would expand the commit message so that it's explicitly stated why the hypervisor vector should have a lower priority.

Oh, I didn't see 5254 at all, thank you for pointing it to me :)

hyperv interrupt currently only services so called 'external devices' (it's event timer is not yet used; even if it was used, it would be serviced by the same IDT vector, so vector priority would not matter). So we don't want to delay LAPIC timer interrupt or IPIs, if all three types of interrupt happens at the same time.

Its just a POC same as 5254, which is also a POC IMHO, what we really need is to have a hyperv file reside in kernel and we will need to change native_lapic_create() in the same way as XEN.

Well, I think its probably high time to add a hyperv file to always reside in kernel, since we have a TSC calibration fix will need that too.