Project

General

Profile

Bug #13084

tl_open should handle id_space exhaustion

Added by Patrick Mooney 8 months ago. Updated 8 months ago.

Status:
Closed
Priority:
Normal
Category:
kernel
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

This is uptreaming of OS-5957 from SmartOS:

Reported as illumos-joynet#137

The reporter has supplied 3 crash dumps that I've put into thoth.

I think this should be tackled on two fronts. First and foremost tl_open should switch to using id_alloc_nosleep in order to fail gracefully when the id space is exhausted. This will prevent threads from becoming uninterruptibly blocked, should the limit of tl streams be reached.

Further in the future, we should evaluate possibilities for splitting the tl minor space across more granular units. Perhaps per-zone or per-netstack scoping for tl minor numbers might be acceptable? Further research is required to understand the possible effects of emitting minor numbers which are used by multiple socket instances.

Also available in: Atom PDF