[#80531] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — Eric Wong <normalperson@...>

SASADA Koichi <ko1@ruby-lang.org> wrote:

24 messages 2017/04/02
[#80532] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — SASADA Koichi <ko1@...> 2017/04/02

On 2017/04/02 11:35, Eric Wong wrote:

[#80540] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — Eric Wong <normalperson@...> 2017/04/03

SASADA Koichi <ko1@atdot.net> wrote:

[#81027] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — Eric Wong <normalperson@...> 2017/05/08

Eric Wong <normalperson@yhbt.net> wrote:

[#81028] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — SASADA Koichi <ko1@...> 2017/05/08

On 2017/05/08 9:33, Eric Wong wrote:

[#81029] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — SASADA Koichi <ko1@...> 2017/05/08

On 2017/05/08 10:53, SASADA Koichi wrote:

[#81031] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — Eric Wong <normalperson@...> 2017/05/08

SASADA Koichi <ko1@atdot.net> wrote:

[#81033] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — SASADA Koichi <ko1@...> 2017/05/08

On 2017/05/08 12:01, Eric Wong wrote:

[#81035] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — Eric Wong <normalperson@...> 2017/05/08

SASADA Koichi <ko1@atdot.net> wrote:

[#81042] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — SASADA Koichi <ko1@...> 2017/05/09

On 2017/05/08 15:36, Eric Wong wrote:

[#81044] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — Eric Wong <normalperson@...> 2017/05/09

SASADA Koichi <ko1@atdot.net> wrote:

[#81045] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — SASADA Koichi <ko1@...> 2017/05/09

On 2017/05/09 12:38, Eric Wong wrote:

[#81047] Re: [ruby-cvs:65407] normal:r58236 (trunk): thread.c: comments on M:N threading [ci skip] — Eric Wong <normalperson@...> 2017/05/09

SASADA Koichi <ko1@atdot.net> wrote:

[ruby-core:80911] Re: [Ruby trunk Misc#13514] [PATCH] thread_pthread.c (native_sleep): preserve old unblock function

From: Eric Wong <normalperson@...>
Date: 2017-04-27 17:51:38 UTC
List: ruby-core #80911
SASADA Koichi <ko1@atdot.net> wrote:
> On 2017/04/27 12:57, Eric Wong wrote:
> > https://80x24.org/spew/20170427034243.22272-1-e@80x24.org/raw
> 
> Thank you. I understand the idea. My understanding is "Do not rely on
> native cond, but manage sleeping threads by ourselves (manage waiting
> queue)". It sound great.

Thank you for looking at it.  I will open separate ticket once
I am satisfied with it.  All internal tests and rubyspec pass,
but I need to review patrol thread logic, more.

> However, I can't understand well about changing native_sleep(). Before
> native_sleep(), GVL was acquired and UBF is zero. What kind of sequence
> do you think which requires [Misc #13514]?

Again, I am really not sure what requires [Misc #13514],
it does not feel correct to lose existing values...


Note how my Mutex size reduction patch at
<https://80x24.org/spew/20170427034243.22272-1-e@80x24.org/raw>
still uses set_unblock_function and reset_unblock_function in
rb_mutex_lock around native_sleep.

This is what the original code did with lock_func.

Maybe they are not necessary with native_sleep,
since "make exam" passes, but I am also unsure why the old code
in rb_mutex_lock used reset_unblock_function instead of zeroing
UBF like native_sleep...

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next