The original sync-r4k did a good job on reducing jitter by determine the "next time value", but it has a limitation that when synchronization being performed too many times due to high core count or CPU hotplug, the timewrap on CPU0 will become unaccpetable. Rework the mechanism based on latest x86 tsc_sync. (It seems like the original implementation is based on tsc_sync at that time, so it's just a refresh.) To improve overall performance. Tesed on Loongson64, Boston, QEMU. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
25 lines
499 B
C
25 lines
499 B
C
/*
|
|
* This file is subject to the terms and conditions of the GNU General Public
|
|
* License. See the file "COPYING" in the main directory of this archive
|
|
* for more details.
|
|
*
|
|
* Copyright (C) 2008 by Ralf Baechle (ralf@linux-mips.org)
|
|
*/
|
|
#ifndef __ASM_R4K_TIMER_H
|
|
#define __ASM_R4K_TIMER_H
|
|
|
|
#include <linux/compiler.h>
|
|
|
|
#ifdef CONFIG_SYNC_R4K
|
|
|
|
extern void synchronise_count_slave(int cpu);
|
|
|
|
#else
|
|
|
|
static inline void synchronise_count_slave(int cpu)
|
|
{
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif /* __ASM_R4K_TIMER_H */
|