Project

General

Profile

Actions

Bug #6732

closed

epoll fails to wake when fd added

Added by Patrick Mooney about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Category:
kernel
Start date:
2016-03-08
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

A regression was introduced by illumos-gate#6291 with respect to poll/epoll waiters being properly woken when a new fd is added to the pollcache.
The bug was originally via smartos-discuss and recorded in OS-5222
Prior supporting recursive epoll, dpwrite would "kick out" threads waiting on the pollcache cv when making alterations to the fd set. This meant that any new additions would be checked by the waiters on reentry to the pollcache. That extent of that exclusion was changed for recursive epoll so that waiters are not "kicked out" from the devpoll entry during a write. As such, the logic must be updated to wake them in the face of an fd addition.

Actions #1

Updated by Electric Monk about 5 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit bf75909a55b2efbe96ab2fe820866fc77fab58c9

commit  bf75909a55b2efbe96ab2fe820866fc77fab58c9
Author: Patrick Mooney <pmooney@pfmooney.com>
Date:   2016-03-11T21:29:21.000Z

    6732 epoll fails to wake when fd added
    Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
    Reviewed by: Bryan Cantrill <bryan@joyent.com>
    Reviewed by: Dan McDonald <danmcd@omniti.com>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Reviewed by: Richard PALO <richard@netbsd.org>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Actions

Also available in: Atom PDF