mirror of https://gitee.com/openkylin/linux.git
[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: Christoph Lameter <clameter@sgi.com> Cc: john stultz <johnstul@us.ibm.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
7f99f06f01
commit
685db65e42
|
@ -1351,10 +1351,10 @@ static inline u64 time_interpolator_get_cycles(unsigned int src)
|
|||
return x();
|
||||
|
||||
case TIME_SOURCE_MMIO64 :
|
||||
return readq((void __iomem *) time_interpolator->addr);
|
||||
return readq_relaxed((void __iomem *)time_interpolator->addr);
|
||||
|
||||
case TIME_SOURCE_MMIO32 :
|
||||
return readl((void __iomem *) time_interpolator->addr);
|
||||
return readl_relaxed((void __iomem *)time_interpolator->addr);
|
||||
|
||||
default: return get_cycles();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue