diff options
| author | Aaron Patterson <tenderlove@ruby-lang.org> | 2024-11-01 15:06:35 -0700 |
|---|---|---|
| committer | Aaron Patterson <aaron.patterson@gmail.com> | 2024-12-12 16:04:49 -0800 |
| commit | fffef9aa5d89b6cca3dc634f5278b1fc67fb3d08 (patch) | |
| tree | 600f63118e7ef716d183b2894e918febcdeb3c49 /thread_pthread.c | |
| parent | e7ee7d43f3d22f499845ee2c8c420201d6b453a3 (diff) | |
Add an environment variable for controlling the default Thread quantum
This commit adds an environment variable `RUBY_THREAD_TIMESLICE` for
specifying the default thread quantum in milliseconds. You can adjust
this variable to tune throughput, which is especially useful on
multithreaded systems that are mixing CPU bound work and IO bound work.
The default quantum remains 100ms.
[Feature #20861]
Co-Authored-By: John Hawthorn <john@hawthorn.email>
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/11981
Diffstat (limited to 'thread_pthread.c')
| -rw-r--r-- | thread_pthread.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/thread_pthread.c b/thread_pthread.c index 09c2969e8c..357454f9b5 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -317,13 +317,6 @@ static void threadptr_trap_interrupt(rb_thread_t *); #define native_thread_yield() ((void)0) #endif -/* 100ms. 10ms is too small for user level thread scheduling - * on recent Linux (tested on 2.6.35) - */ -#define TIME_QUANTUM_MSEC (100) -#define TIME_QUANTUM_USEC (TIME_QUANTUM_MSEC * 1000) -#define TIME_QUANTUM_NSEC (TIME_QUANTUM_USEC * 1000) - static void native_thread_dedicated_inc(rb_vm_t *vm, rb_ractor_t *cr, struct rb_native_thread *nt); static void native_thread_dedicated_dec(rb_vm_t *vm, rb_ractor_t *cr, struct rb_native_thread *nt); static void native_thread_assign(struct rb_native_thread *nt, rb_thread_t *th); |
