svn commit: r243764 - head/sys/x86/x86
John Baldwin
jhb at freebsd.org
Thu Dec 6 21:53:23 UTC 2012
On Saturday, December 01, 2012 1:16:14 pm Andriy Gapon wrote:
> Author: avg
> Date: Sat Dec 1 18:16:14 2012
> New Revision: 243764
> URL: http://svnweb.freebsd.org/changeset/base/243764
>
> Log:
> ioapic_program_intpin: program high bits before low bits
>
> Programming the low bits has a side-effect if unmasking the pin if it is
> not disabled. So if an interrupt was pending then it would be delivered
> with the correct new vector but to the incorrect old LAPIC.
>
> This fix could be made clearer by preserving the mask bit while
> programming the low bits and then explicitly resetting the mask bit
> after all the programming is done.
>
> Probability to trip over the fixed bug could be increased by bootverbose
> because printing of the interrupt information in ioapic_assign_cpu
> lengthened the time window during which an interrupt could arrive while
> a pin is masked.
Can you expand the comment to say that you write 'low' second since it may
clear the masked bit?
--
John Baldwin
More information about the svn-src-head
mailing list