/* Note: mulhdu(a, b) (multiply high double unsigned) returns the high 64 bits of a * b, i.e. (a * b) >> 64, where a and b are 64-bit unsigned numbers.  */
unsigned long long sched_clock(void)
/* Note: mulhdu(a, b) (multiply high double unsigned) returns the high 64 bits of a * b, i.e. (a * b) >> 64, where a and b are 64-bit unsigned numbers.  */
unsigned long long sched_clock(void)
{
	if (__USE_RTC())
		return get_rtc();
	return mulhdu(get_tb() - boot_tb, tb_to_ns_scale) << tb_to_ns_shift;
}