浏览代码

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>
Chris Metcalf 9 年之前
父节点
当前提交
870ee4ff56
共有 1 个文件被更改,包括 1 次插入7 次删除
  1. 1 7
      arch/tile/lib/cacheflush.c

+ 1 - 7
arch/tile/lib/cacheflush.c

@@ -138,19 +138,13 @@ finv_buffer_remote(void *buffer, size_t size, int hfh)
 	if ((unsigned long)base < (unsigned long)buffer)
 	if ((unsigned long)base < (unsigned long)buffer)
 		base = buffer;
 		base = buffer;
 
 
-	/*
-	 * Fire all the loads we need.  The MAF only has eight entries
-	 * so we can have at most eight outstanding loads, so we
-	 * unroll by that amount.
-	 */
-#pragma unroll 8
+	/* Fire all the loads we need. */
 	for (; p >= base; p -= step_size)
 	for (; p >= base; p -= step_size)
 		force_load(p);
 		force_load(p);
 
 
 	/*
 	/*
 	 * Repeat, but with finv's instead of loads, to get rid of the
 	 * Repeat, but with finv's instead of loads, to get rid of the
 	 * data we just loaded into our own cache and the old home L3.
 	 * data we just loaded into our own cache and the old home L3.
-	 * No need to unroll since finv's don't target a register.
 	 * The finv's are guaranteed not to actually flush the data in
 	 * The finv's are guaranteed not to actually flush the data in
 	 * the buffer back to their home, since we just read it, so the
 	 * the buffer back to their home, since we just read it, so the
 	 * lines are clean in cache; we will only invalidate those lines.
 	 * lines are clean in cache; we will only invalidate those lines.