]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Modify the instructions emited for PREFETCH on arm64 (#10117)
authorAli Saidi <alisaidi@amazon.com>
Wed, 15 Jun 2022 00:58:44 +0000 (17:58 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 15 Jun 2022 00:58:44 +0000 (17:58 -0700)
commitb550fc0b090f63e95b567d34bdc3be258fbfe43a
tree43f0c197921dd75439def0dc2234aa196ff581ca
parent751d1a3e48e0457d457569ab14b64b68f620ff85
Modify the instructions emited for PREFETCH on arm64 (#10117)

Summary:
__builtin_prefetch(...., 1) prefetches into the L2 cache on x86 while the same
emits a pldl3keep instruction on arm64 which doesn't seem to be close enough.

Testing on a Graviton3, and M1 system with memtablerep_bench fillrandom and
skiplist througpuh increased as follows adjusting the 1 to 2 or 3:
```
           1 -> 2     1 -> 3
----------------------------
Graviton3   +10%        +15%
M1          +10%        +10%
```

Given that prefetching into the L1 cache seems to help, I chose that conversion

Pull Request resolved: https://github.com/facebook/rocksdb/pull/10117

Reviewed By: pdillinger

Differential Revision: D37120475

fbshipit-source-id: db1ef43f941445019c68316500a2250acc643d5e
port/port_posix.h