Hi Tamar, > I do wonder though, the access itself was only ever used as a fall-back when > HWCAPS > failed. If I'm not mistaken this was added because at the time the concern > was older > kernels which didn't have the HWCAPs bit for these extensions. > > So I wonder if the performance was really a problem here, given any kernel > with the HWCAPS > never gets to the sysreg read, but also, have every kernel that don't have > these HWCAPS gone > out of support? > > If not are we not pessimisting atomics for binaries ran on older kernels?
The issue is that most cores do not yet have LSE128 or LRCPC3, so we always take expensive traps without benefiting from faster atomics. Since kernels now support these HWCAPS for several releases, there isn't any point in keeping these early workarounds. Note also that libatomic is now always forced on the dependencies list, and thus we will always initialize all ifuncs even if they are unused. More costs for no benefit. Cheers, Wilco
