[#83096] File.setuid? on IO (Re: [ruby-cvs:67289] normal:r60108 (trunk): file.c: release GVL in File.{setuid?, setgid?, sticky?}) — Nobuyoshi Nakada <nobu@...>
On 2017/10/04 8:47, normal@ruby-lang.org wrote:
5 messages
2017/10/04
[#83100] Re: File.setuid? on IO (Re: [ruby-cvs:67289] normal:r60108 (trunk): file.c: release GVL in File.{setuid?, setgid?, sticky?})
— Eric Wong <normalperson@...>
2017/10/04
Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#83105] Re: File.setuid? on IO (Re: [ruby-cvs:67289] normal:r60108 (trunk): file.c: release GVL in File.{setuid?, setgid?, sticky?})
— Nobuyoshi Nakada <nobu@...>
2017/10/04
On 2017/10/04 15:55, Eric Wong wrote:
[#83107] Alias Enumerable#include? to Enumerable#includes? — Alberto Almagro <albertoalmagro@...>
Hello,
9 messages
2017/10/04
[#83113] Re: Alias Enumerable#include? to Enumerable#includes?
— "Urabe, Shyouhei" <shyouhei@...>
2017/10/05
This has been requested countless times, then rejected each and every time.
[#83129] Re: Alias Enumerable#include? to Enumerable#includes?
— Alberto Almagro <albertoalmagro@...>
2017/10/05
Sorry I didn't found it on the core mail list's archive.
[#83138] Re: Alias Enumerable#include? to Enumerable#includes?
— "Urabe, Shyouhei" <shyouhei@...>
2017/10/06
Ruby has not been made of popular votes so far. You have to show us
[#83149] Re: Alias Enumerable#include? to Enumerable#includes?
— Eric Wong <normalperson@...>
2017/10/06
Alberto Almagro <albertoalmagro@gmail.com> wrote:
[#83200] [Ruby trunk Feature#13996] [PATCH] file.c: apply2files releases GVL — normalperson@...
Issue #13996 has been reported by normalperson (Eric Wong).
4 messages
2017/10/10
[ruby-core:83326] more GVL release stuff for pathological cases
From:
Eric Wong <normalperson@...>
Date:
2017-10-18 02:09:32 UTC
List:
ruby-core #83326
In the same vein as https://bugs.ruby-lang.org/issues/13996
There's 4 more patches to dir.c around opendir, readdir, openat,
and chdir.
I don't think releasing GVL around rewinddir is necessary, since
AFAIK; it's just an lseek and that only updates an offset in the
kernel.
Releasing GVL around closedir may not be needed, either, since
it's operations on that FD are read-only; I'll have to read
Linux kernel sources around various FSes to confirm; but also
modern versions of Linux defer a lot of the complicated close()
stuff, anyways, to reduce userspace syscall time.
However, releasing GVL around mkdir and rmdir will be necessary,
of course; as well as the remaining stat/lstat calls in dir.c
It also looks like the dir glob code could be doing multiple
syscalls and non-rb_* userspace stuff without GVL to reduce
overhead of releasing/acquiring the GVL too frequently; but
that's a more involved patch and UTF-8 normalizing FS platforms
won't benefit (but they're not my top priority performance-wise,
either).
The following changes since commit 593d9786464c94db9c776a5a968dcf65cbc1d9d4:
tempfile.rb: [DOC] all arguments [ci skip] (2017-10-17 12:40:00 +0000)
are available in the git repository at:
git://80x24.org/ruby dir-file-gvl-r60203
for you to fetch changes up to 859716bb3a0bc2057a2d0f05079e480a1955e36c:
dir: Dir.chdir releases GVL (2017-10-18 01:59:48 +0000)
----------------------------------------------------------------
Eric Wong (5):
file.c: apply2files releases GVL
dir.c: release GVL around remaining readdir calls
dir.c: release GVL on opendir
dir.c: openat calls release GVL, too
dir: Dir.chdir releases GVL
benchmark/bm_file_chmod.rb | 9 +++
dir.c | 195 ++++++++++++++++++++++++++++++++-------------
file.c | 159 +++++++++++++++++++++++++-----------
3 files changed, 261 insertions(+), 102 deletions(-)
create mode 100644 benchmark/bm_file_chmod.rb
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>