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-all mailing list