Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a236ab4ab9c5addf

Jump to content

Talk:epoll

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia
Latest comment: 1 year ago by F3ndot in topic Introduction to kernel

O(1) ?

[edit]

Clearly not O(1) for add and upd (only wait) and even there, without EPOLLET, I think epoll as to search for socket with available data (unless it maintain a queue internally)?

Why do they use RB-tree instead of hashtbl ? O(1) amortized with O(n) worst case feels better than O(ln(n)) ?

Could someone who have time to look at the code comment? 148.66.126.134 (talk) 22:38, 13 January 2023 (UTC)Reply

Introduction to kernel

[edit]

In https://en.wikipedia.org/w/index.php?title=Epoll&diff=prev&oldid=1191403982 someone changed "first introduced in version 2.5.44 of the Linux kernel" to "first introduced in version 2.5.45 of the Linux kernel", however, when I checked the reference I see that it does say 2.5.44. Does someone have a different reference that shows 2.5.45? Otherwise I will revert this change. Jrdnch (talk) 17:37, 1 April 2025 (UTC)Reply

The plot thickens. The primary source is always the kernel development mailing lists. From what I can tell, epoll as we know it was first introduced here, as a patch based off of 2.5.44 "for inclusion in the next 2.5 kernel release" (hinting that 2.5.45 is the true first possible candidate):
There was some discussion and then another patch was supplied with man pages. This patch contains the (erroneous?) line of "a new API introduced in Linux kernel 2.5.44":
Perhaps it's stylistic grammatical choice in that it was "introduced" against .44 and was released in a later version? Or somehow those original manpages never got their text bumped for the release epoll was included in. Anyway, a few days later Linus announces v2.5.45 and mentions epoll in the notes:
But later on the standard "[STATUS 2.5]" email sent a week later describes it as merged in 2.5.46 (granted this could mean yet another improvement to the first epoll patch):
As contrast, the "2.5.43 to 2.5.44" changelog email that precedes this all does not mention epoll:
So, from what I can reasonably conclude from these mailing list archives, v2.5.45 is the true introduction of sys_epoll (its own version at v0.15). —f3ndot (TALK) (EMAIL) 05:52, 15 July 2025 (UTC)Reply
Oh, and a source-worthy link for citing the 2.5.45 change would be: https://lwn.net/Articles/13587/f3ndot (TALK) (EMAIL) 06:02, 15 July 2025 (UTC)Reply