Skip to contentSkip to conversation

New: epoll_wait(2): upper limit to timeout

Bug 20762 bugzilla-daemon-590EEB7GvNiWaY/[email protected] 1 participant 2 messages Oct 19, 2010 – Aug 16, 2012 1 message not in the archive Man-pages: manual pages for Linux -- Sections 2, 3, 4, 5, and 7

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=20762

Summary: epoll_wait(2): upper limit to timeout
Product: Documentation
Version: unspecified
Kernel Version: n/a
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: man-pages
AssignedTo: documentation_man-pages-ztI5WcYan/[email protected]
ReportedBy: [email protected]
Regression: No

The timeout argument has an upper limit. Any values above that limit are treated the same as -1, i.e. to wait indefinitely. The limit is given by:

#define EP_MAX_MSTIMEO min(1000ULL * MAX_SCHEDULE_TIMEOUT / HZ, (LONG_MAX - 999ULL) / HZ)

That is, the limit depends on the size of a long and the timer frequency. Assuming the a long is never smaller than 32 bits and HZ never larger than 1000, the worst case is 35 minutes. I think this should be mentioned under "BUGS".

Although this is likely to be fixed in the future
(http://lkml.org/lkml/2010/8/8/144), the problem exists in at least 2.6.14 - 2.6.35. I don't know if select(2) and poll(2) are affected.

Signature · 7 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#2 lore raw

[Bug 20762] epoll_wait(2): upper limit to timeout

In reply to a message not in the archive

https://bugzilla.kernel.org/show_bug.cgi?id=20762

Michael Kerrisk <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
                 CC|                            |[email protected]
         Resolution|                            |CODE_FIX

--- Comment #1 from Michael Kerrisk <[email protected]> 2012-08-16 09:33:31 --- I aplied the following patch:

man2/epoll_wait.2 +12 -0
@@ -198,6 +198,18 @@ If the new file descriptor becomes ready,
 it will cause the
 .BR epoll_wait ()
 call to unblock.
+.SH BUGS
+In kernels before 2.6.37, a
+.I timeout
+value larger than approximately
+.I LONG_MAX / HZ
+milliseconds is treated as \-1 (i.e., infinity).
+Thus, for example, on a system where the
+.I sizeof(long)
+is 4 and the kernel
+.I HZ
+value is 1000,
+this means that timeouts greater than 35.79 minutes are treated as infinity.
 .SH "SEE ALSO"
 .BR epoll_create (2),
 .BR epoll_ctl (2),
Signature · 7 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html