Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 870ee4ff authored by Chris Metcalf's avatar Chris Metcalf
Browse files

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: default avatarChris Metcalf <cmetcalf@mellanox.com>
parent 8e36f722
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -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.