[Bug 270785] Performance and power efficiency regression due to pthread_cond_timedwait() changes
Date: Thu, 13 Apr 2023 20:15:10 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270785
--- Comment #4 from bllcha013@myuct.ac.za ---
(In reply to Mark Johnston from comment #3)
I cloned releng/13.2 and reverted commit
e21c77f80c3b1cf2bd0a9f874e15e7a8e49f0dba. Reverting this commit fixes the
regression.
I also did the dtrace output as asked - thank you for providing the dtrace
script.
releng/13.2 (standard, same as RELEASE):
syscall seconds calls errors
__sysctlbyname 0.000650415 6 0
getrusage 0.008321625 116 0
sched_yield 1.287887942 29936 0
_umtx_op 41.138906134 30136 30132
------------- ------- -------
42.435766116 60194 30132
dtrace: description 'fbt::do_wait:entry ' matched 1 probe
CPU ID FUNCTION:NAME
2 18111 do_wait:entry struct _umtx_time {
struct timespec _timeout = {
time_t tv_sec = 0xc2
long tv_nsec = 0x2ed64521
}
__uint32_t _flags = 0x1
__uint32_t _clockid = 0x4
}
2 18111 do_wait:entry struct _umtx_time {
struct timespec _timeout = {
time_t tv_sec = 0xc2
long tv_nsec = 0x2ed7d390
}
__uint32_t _flags = 0x1
__uint32_t _clockid = 0x4
}
releng/13.2 (with commit e21c77f80c3b1cf2bd0a9f874e15e7a8e49f0dba reverted):
syscall seconds calls errors
getrusage 0.003569531 58 0
sched_yield 0.168773634 3781 0
_umtx_op 16.840977734 3873 3873
------------- ------- -------
17.013320899 7712 3873
dtrace: description 'fbt::do_wait:entry ' matched 1 probe
CPU ID FUNCTION:NAME
4 18111 do_wait:entry struct _umtx_time {
struct timespec _timeout = {
time_t tv_sec = 0x6f
long tv_nsec = 0xba6df4a
}
__uint32_t _flags = 0x1
__uint32_t _clockid = 0x4
}
3 18111 do_wait:entry struct _umtx_time {
struct timespec _timeout = {
time_t tv_sec = 0x6f
long tv_nsec = 0x8bb061f
}
__uint32_t _flags = 0x1
__uint32_t _clockid = 0x4
}
So it seems that reverting the commit fixes the issue. It also helps the UniFi
Controller as well (although that wasn't impacted as drastically as Minecraft).
This might be a kernel bug as you mentioned?
--
You are receiving this mail because:
You are the assignee for the bug.