* @warning * @b EXPERIMENTAL: this API may change, or be removed, without prior notice * * Prefetch a cache line into all cache levels, except the 0th, with intention * to write. This prefetch variant hints to the CPU that the program is * expecting to write to the cache line being prefetched. * * @param p Address to prefetch */
| 85 | * @param p Address to prefetch |
| 86 | */ |
| 87 | __rte_experimental |
| 88 | static inline void |
| 89 | rte_prefetch1_write(const void *p) |
| 90 | { |
| 91 | /* 1 indicates intention to write, 2 sets target cache level to L2. See |
| 92 | * GCC docs where these integer constants are described in more detail: |
| 93 | * https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html |
| 94 | */ |
| 95 | __builtin_prefetch(p, 1, 2); |
| 96 | } |
| 97 | |
| 98 | /** |
| 99 | * @warning |
no outgoing calls