<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/tile/lib/cacheflush.c, branch v3.4-rc2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/tile/lib/cacheflush.c?h=v3.4-rc2</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/tile/lib/cacheflush.c?h=v3.4-rc2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-04-02T16:13:53Z</updated>
<entry>
<title>arch/tile: fix finv_buffer_remote() for tilegx</title>
<updated>2012-04-02T16:13:53Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2012-03-30T19:47:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=54229ff359250ce7292dbeb59f157a2d3b67e30c'/>
<id>urn:sha1:54229ff359250ce7292dbeb59f157a2d3b67e30c</id>
<content type='text'>
There were some correctness issues with this code that are now fixed
with this change.  The change is likely less performant than it could
be, but it should no longer be vulnerable to any races with memory
operations on the memory network while invalidating a range of memory.
This code is run infrequently so performance isn't critical, but
correctness definitely is.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
</content>
</entry>
<entry>
<title>arch/tile: fix pointer cast in cacheflush.c</title>
<updated>2012-04-02T16:13:39Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2012-03-29T20:14:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=918cbd38aef83de3a2516299bcb230caf59462a0'/>
<id>urn:sha1:918cbd38aef83de3a2516299bcb230caf59462a0</id>
<content type='text'>
Pragmatically it couldn't be wrong to cast pointers to long to compare
them (since all kernel addresses are in the top half of VA space),
but it's more correct to cast to unsigned long.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
</content>
</entry>
<entry>
<title>arch/tile: disable GX prefetcher during cache flush</title>
<updated>2011-05-04T18:40:46Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2011-05-02T19:54:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dbb434214e34014dc7acb0e7811c37471df26a72'/>
<id>urn:sha1:dbb434214e34014dc7acb0e7811c37471df26a72</id>
<content type='text'>
Otherwise, it's possible to end up with the prefetcher pulling
data into cache that the code believes has been flushed.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
</content>
</entry>
<entry>
<title>arch/tile: enhance existing finv_buffer_remote() routine</title>
<updated>2011-03-01T21:21:06Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2011-02-28T20:48:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=63b7ca6b04427aea9075d6f5f5f15b82e115bce4'/>
<id>urn:sha1:63b7ca6b04427aea9075d6f5f5f15b82e115bce4</id>
<content type='text'>
It now takes an additional argument so it can be used to
flush-and-invalidate pages that are cached using hash-for-home
as well those that are cached with coherence point on a single cpu.

This allows it to be used more widely for changing the coherence
point of arbitrary pages when necessary.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
</content>
</entry>
<entry>
<title>arch/tile: Split the icache flush code off to a generic &lt;arch&gt; header.</title>
<updated>2010-07-06T17:41:46Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2010-06-25T21:03:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c78095bd8c77fca2619769ff8efb639fd100e373'/>
<id>urn:sha1:c78095bd8c77fca2619769ff8efb639fd100e373</id>
<content type='text'>
This code is used in other places in our system than in Linux, so
to share it we now implement it as an inline function in our low-level
&lt;arch&gt; headers, and instantiate it in one file in Linux's arch/tile/lib.
The file is now cacheflush.c and is C code rather than the strangely-named
and assembler-implemented __invalidate_icache.S.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
</feed>
