From 870ee4ff5647dbf024f99ba5e56d0f3c344f1511 Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Tue, 6 Sep 2016 15:56:15 -0400 Subject: [PATCH] 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 --- arch/tile/lib/cacheflush.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/tile/lib/cacheflush.c b/arch/tile/lib/cacheflush.c index 9c0ec22009a5..c1ebc1065fc1 100644 --- a/arch/tile/lib/cacheflush.c +++ b/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) 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) force_load(p); /* * 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. - * 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 buffer back to their home, since we just read it, so the * lines are clean in cache; we will only invalidate those lines. -- 2.20.1