This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, AArch64] atomics: prefetch the destination for write prior to ldxr/stxr loops


Hi,

    As discussed in LKML: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/355996.html, the cost of changing a cache line
    from shared to exclusive state can be significant on aarch64 cores, especially when this is triggered by an exclusive store, since it may
    result in having to retry the transaction. 
    This patch makes use of the "prfm PSTL1STRM" instruction to prefetch cache lines for write prior to ldxr/stxr loops generated by the ll/sc atomic routines. 
    Bootstrapped on AArch64 server, is it OK? 

Thanks,
Felix

Attachment: aarch64-atomics-v0.diff
Description: aarch64-atomics-v0.diff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]