Agilex™ 5 ES Device Errata and User Guidelines

ID 825514
Date 12/09/2024
Public
Document Table of Contents

3.2.3. 2356586: Continuous failing STREX because of another PE executing prefetch for store behind consistently mispredicted branch

Description

A PE executing a PLDW or PRFM PST instruction that lies on a mispredicted branch path might cause a second PE executing a store exclusive to the same cache line address to fail continuously.

Conditions

  1. One PE is executing store exclusive.
  2. A second PE has branches that are consistently mispredicted.
  3. The second PE instruction stream contains a PLDW or PRFM PST instruction on the mispredicted path that accesses the same cache line address as the store exclusive executed by the first PE.
  4. PLDW/PRFM PST causes an invalidation of the first PE's caches and a loss of the exclusive monitor.

Impact

If the above conditions are met, the store exclusive instruction might continuously fail.

Workaround

Set CPUACTLR2_EL1[0] to 1 to force PLDW/PFRM ST to behave like PLD/PRFM LD and not cause invalidations to other PE caches. There might be a small performance degradation to this workaround for certain workloads that share data.

Category

Category B