Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tile: remove #pragma unroll from finv_buffer_remote()

This directive was put in the kernel source before the "pragma
unroll" support for tilegx gcc was upstreamed. Remove it for
now, and we can put it back later if/when the compiler support
is upstreamed. This avoids a warning when building the kernel.

This routine is not on a hot path in any case, so the extra
optimization here was mostly just for its own sake.

Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com>

+1 -7
+1 -7
arch/tile/lib/cacheflush.c
··· 138 138 if ((unsigned long)base < (unsigned long)buffer) 139 139 base = buffer; 140 140 141 - /* 142 - * Fire all the loads we need. The MAF only has eight entries 143 - * so we can have at most eight outstanding loads, so we 144 - * unroll by that amount. 145 - */ 146 - #pragma unroll 8 141 + /* Fire all the loads we need. */ 147 142 for (; p >= base; p -= step_size) 148 143 force_load(p); 149 144 150 145 /* 151 146 * Repeat, but with finv's instead of loads, to get rid of the 152 147 * data we just loaded into our own cache and the old home L3. 153 - * No need to unroll since finv's don't target a register. 154 148 * The finv's are guaranteed not to actually flush the data in 155 149 * the buffer back to their home, since we just read it, so the 156 150 * lines are clean in cache; we will only invalidate those lines.