Changes between Version 6 and Version 7 of Ticket #228


Ignore:
Timestamp:
06/22/2021 12:54:44 PM (5 years ago)
Author:
Gary Dixon
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #228 – Description

    v6 v7  
    3030In situations where that sign bit is "1"b, the ASQ instruction adds a negative value to the previous tc_data|governing_credit_bank, often causing it to become negative.  Code which assigns those credits (see pxss.alm line 2963++) ignores assignment of credits if the bank value is negative.  Thus the negative tc_data|govern_credit_bank value remains negative when scheduling ends on that CPU.
    3131
    32 The next time the scheduler runs on that CPU, if the delta_t value has a right-word storage that again looks like a negative integer, that negative value again gets added to the still-negative tc_data|governing_credit_bank value.  This process can continue until the ASQ instruction overflows the negative range of the fixed bin(35) signed storage space.  ASQ then turns on the Overflow indicator bit. And if the Overflow Mask indicator bit is off, an Overflow Fault is also triggered. 
     32The next time the scheduler runs on that CPU, if the delta_t value has a right-word storage that again looks like a negative integer, that negative value again gets added to the still-negative tc_data|governing_credit_bank value.  This process can continue until the ASQ instruction overflows the negative range of the fixed bin(35) signed storage space.  ASQ then turns on the Overflow indicator bit. And since the Overflow Mask indicator bit is off, an Overflow Fault is also triggered. 
    3333
    3434That scenario (or some variant) caused an Overflow Fault while running in ring-0,  producing the GHM system to crash.