From: normalperson@... Date: 2014-07-23T02:33:11+00:00 Subject: [ruby-core:63947] [ruby-trunk - Bug #4527] [PATCH] IO#close releases GVL if possible Issue #4527 has been updated by Eric Wong. 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. ---------------------------------------- Bug #4527: [PATCH] IO#close releases GVL if possible https://bugs.ruby-lang.org/issues/4527#change-47969 * Author: Eric Wong * Status: Assigned * 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: REQUIRED, 2.1: REQUIRED ---------------------------------------- =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/