Skip to content

Commit

Permalink
ARCv3: Require HAS_LLSC for enabling HAS_ATLD option
Browse files Browse the repository at this point in the history
Restore the dependency of HAS_ATLD on HAS_LLSC. This commit reverts the
Kconfig changes introduced by commit bc57bd4 ("ARCv3: add new version
of 32-bit arch_atomic_* with atld.<op> instrs").

The implementation of 32-bit atomic functions with atld.<op> instructions
cannot fully replace the LLSC version and cannot be used as a workaround
for the llock/scond livelock issue. Use the ARC_LLSC_BACKOFF option as a
workaround for the llock/scond livelock issue.

The HAS_ATLD option can only be used for efficient fetch-and-operate atomic
functions implementation.

Signed-off-by: Pavel Kozlov <[email protected]>
  • Loading branch information
pavelvkozlov committed Aug 6, 2024
1 parent 0648836 commit ad73bdc
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions arch/arc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -434,10 +434,10 @@ config ARC_LLSC_BACKOFF
depends on ISA_ARCV3 && SMP && ARC_HAS_LLSC

config ARC_HAS_ATLD
bool "Insn: ATLD (efficient atomic ops)"
bool "Insn: ATLD (efficient fetch-and-operate atomic ops)"
default n
depends on ISA_ARCV3
depends on !ARC_CANT_LLSC
depends on ARC_HAS_LLSC

config ARC_HAS_SWAPE
bool "Insn: SWAPE (endian-swap)"
Expand Down

0 comments on commit ad73bdc

Please sign in to comment.