A method, computer program product and data processing system for verifying
cumulative ordering. In one embodiment of the present invention a method
comprises the step of selecting a memory barrier instruction issued by a
particular processor. The method further comprises selecting a first cache
line out of a plurality of cache lines to be paired with one or more of
the remaining of the plurality of cache lines. If a load memory
instruction executed after the memory barrier instruction in the first
cache line was identified, then the first cache line selected will be
paired with a second cache line. If a load memory instruction executed
before the memory barrier instruction in the second cache line was
identified, then a pair of load memory instructions has been identified.
Upon identifying the second load memory instruction, a first and second
reload of the first and second cache lines are identified. Upon
identifying the first and second reloads of the first and second cache
lines, a determination may be made as to whether the first reload occurred
after the second. If the first reload did not occur after the second
reload, then a determination may be made as to whether the ownership
transaction referencing the first cache line was initiated between the
first and second reload. If the ownership transaction was initiated
between the first and second reload, then a potential violation of
cumulative ordering has been identified.
Метод, продукт компьутерной программы и системы процесса данных для проверки кумулятивный приказывать. В одном воплощении присытствыющего вымысла метод состоит из шага выбирать инструкцию барьера памяти выданную определенным обработчиком. Метод более дальнейший состоит из выбирать первую линию тайника из множественности линий тайника быть спаренным с one or more из остающегося множественности линий тайника. Если исполненная инструкция памяти нагрузки после того как была определена инструкция барьера памяти в первой линии тайника, то первая линия тайника выбрал спарит с второй линией тайника. Если были определены исполненная инструкция памяти нагрузки прежде чем была определена инструкция барьера памяти в второй линии тайника, тогда пара инструкций памяти нагрузки. По определять вторую инструкцию памяти нагрузки, определен первый и второй reload первых и вторых линий тайника. По определять первые и вторые reloads первых и вторых линий тайника, определение может быть сделано as to whether первый reload произошел после секунды. Если первый reload не произошел, то после того как второй reload, после этого определение сможет быть сделан as to whether трудыы владением снабжая ссылками первую линию тайника были начаты между первым и вторым reload. Если трудыы владением были начаты между первым и вторым reload, то было определено потенциальное нарушение кумулятивный приказывать.