Messages in this thread | | | Subject | Re: [PATCH 0/2] Fix dmar fault interrupt problems | From | Suresh Siddha <> | Date | Tue, 30 Nov 2010 11:52:41 -0800 |
| |
On Tue, 2010-11-30 at 11:28 -0800, Chris Wright wrote: > AFAICT, it just becomes a duplicate call in a narrow window. > > native_smp_prepare_cpus() (or APIC_init_uniprocessor()): > enable_IR_x2apic() > enable_IR() > enable_intr_remapping() <-- clears faults > default_setup_apic_routing() > enable_drhd_fault_handling() <-- added call to clear faults > > That's what I meant by not needed.
I agree that we will call clear faults twice.
With out the second clear fault, any fault in that narrow window of enabling intr-remapping and enabling fault handling will go unnoticed and block further faults getting reported.
I am not sure if the first fault is necessary. I can check and remove it if not needed.
Ideally we want to do something like:
Setup fault handling Clear any faults Enable intr-remapping
But fault handling interrupt configuration depends on the apic mode that gets selected based on whether intr-remapping was enabled successfully or not. And hence we were enabling fault handling after enabling the intr-remapping mode.
I can see if I can cleanup any of these flows for 2.6.38. For 2.6.37 and older kernels I would like to keep the patch simple.
thanks, suresh
| |