The change in https://github.com/ruby/ruby/pull/11081/files does not look correct to me because it enables shadow stack and indirect branch tracking in the ELF markup. But the changes to `Context.S` merely enable indirect branch tracking...fweimer (Florian Weimer)
The annobin instructions are very misleading for `Context.S` because it performs stack switching: ``` # Save caller stack pointer: movq %rsp, (%rdi) # Restore callee stack pointer: movq (%rsi), %r...fweimer (Florian Weimer)
If you want to keep using `qsort_r`, please use it to sort a temporary array of array indices, and not an array of GC-managed pointers.fweimer (Florian Weimer)
This is deliberate because Linux does not support changing the mode of a symbolic link (except for file systems with bugs). The error code ENOTSUP is mandated by POSIX for this case. You can still use lchmod to avoid following symbolic l...fweimer (Florian Weimer)
andresakata (André Guimarães Sakata) wrote: > Hello @fewimer, very interesting. > ... In the first test, yes, but I did not quote those numbers. The first quoted numbers are for untuned glibc 2.26. fweimer (Florian Weimer)
I can reproduce your MALLOC_ARENA_MAX=2 number. But my untuned glibc 2.26 numbers are slightly worse (presumably due to the thread cache, which delays coalescing even further): ~~~ count 5000.000000 mean 2299.963311 std ...fweimer (Florian Weimer)
andresakata (André Guimarães Sakata) wrote: > Hi! > ... Thanks. Would it be possible to eliminate the dependency on `newrelic_rpm`, and possibly Rails as well? We don't have a commercial `newrelic_rpm` license, and we are not Ruby de...fweimer (Florian Weimer)
I believe this has been reported multiple times against glibc, without ever mentioning Ruby. The most relevant upstream bug seems to be: https://sourceware.org/bugzilla/show_bug.cgi?id=14581 The Ruby allocator calls posix_memalign...fweimer (Florian Weimer)