Commit 685db65e authored by Christoph Lameter's avatar Christoph Lameter Committed by Linus Torvalds

[PATCH] time_interpolator: Use readq_relaxed() instead of readq().

On some platforms readq performs additional work to make sure I/O is done
in a coherent way.  This is not needed for time retrieval as done by the
time interpolator.  So we can use readq_relaxed instead which will improve
performance.

It affects sparc64 and ia64 only.  Apparently it makes a significant
difference on ia64.
Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
Cc: john stultz <johnstul@us.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 7f99f06f
...@@ -1351,10 +1351,10 @@ static inline u64 time_interpolator_get_cycles(unsigned int src) ...@@ -1351,10 +1351,10 @@ static inline u64 time_interpolator_get_cycles(unsigned int src)
return x(); return x();
case TIME_SOURCE_MMIO64 : case TIME_SOURCE_MMIO64 :
return readq((void __iomem *) time_interpolator->addr); return readq_relaxed((void __iomem *)time_interpolator->addr);
case TIME_SOURCE_MMIO32 : case TIME_SOURCE_MMIO32 :
return readl((void __iomem *) time_interpolator->addr); return readl_relaxed((void __iomem *)time_interpolator->addr);
default: return get_cycles(); default: return get_cycles();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment