Date: Tue, 19 Jan 2021 06:44:19 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 252820] Linuxulator: linux_timerfd_settime don't set expirations count to zero Message-ID: <bug-252820-227@https.bugs.freebsd.org/bugzilla/>
index | next in thread | raw e-mail
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252820 Bug ID: 252820 Summary: Linuxulator: linux_timerfd_settime don't set expirations count to zero Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: ankohuu@outlook.com Attachment #221726 text/plain mime type: Created attachment 221726 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=221726&action=edit timerfd+epoll+LT On Linux, read(2) timerfd returns an unsigned 8-byte integer (uint64_t) containing the number of expirations that have occurred, if the timer has already expired one or more times since its settings were last modified using timerfd_settime(), or since the last successful read(2).That's to say, once do a read or timerfd_settime operation, timer fd's expiration count should be zero. Some Linux applications create timerfd and add it to epoll with LT mode, when event comes, they do timerfd_settime instead of read to stop event source from trigger, code in the attachment, On FreeBSD timerfd_settime don't set count to zero, so cause CPU high. -- You are receiving this mail because: You are the assignee for the bug.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-252820-227>
