From: naruse@... Date: 2014-07-23T03:19:13+00:00 Subject: [ruby-core:63948] [ruby-trunk - Bug #4527] [Closed] [PATCH] IO#close releases GVL if possible Issue #4527 has been updated by Yui NARUSE. Status changed from Assigned to Closed Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: DONTNEED, 2.1: DONTNEED Eric Wong wrote: > naruse@airemix.jp wrote: > > A patch proposed Eric in [ruby-core:35610] is not merged yet. > > Won't apply after r43373 (which is way more important). > > I don't think the current close(tmpfd) needs to release GVL in the > new code path it is dropping a refcount after rb_cloexec_dup2; > so nothing expensive going on in the kernel. > > close performance on inotify descriptors (my main reason for this) is > much improved since 2011, too. AFAIK the heavy lifting was moved to > asynchronous kernel workqueues. Sure, thanks for explanation. ---------------------------------------- Bug #4527: [PATCH] IO#close releases GVL if possible https://bugs.ruby-lang.org/issues/4527#change-47970 * Author: Eric Wong * Status: Closed * Priority: Normal * Assignee: Motohiro KOSAKI * Category: core * Target version: * ruby -v: ruby 1.9.3dev (2011-03-25 trunk 31181) [x86_64-linux] * Backport: 2.0.0: DONTNEED, 2.1: DONTNEED ---------------------------------------- =begin close() may block for certain file types (NFS, SO_LINGER sockets, inotify), so let other threads run. =end ---Files-------------------------------- 0001-IO-close-releases-GVL-if-possible.patch (1.6 KB) -- https://bugs.ruby-lang.org/