[#43467] [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...>

kosakiです

15 messages 2011/05/08
[#43482] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — SASADA Koichi <ko1@...> 2011/05/08

 ささだです.

[#43486] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

>  ささだです.

[#43487] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — SASADA Koichi <ko1@...> 2011/05/09

 ささだです.

[#43488] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

>  ささだです.

[#43489] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

自己解決しました

[#43500] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — SASADA Koichi <ko1@...> 2011/05/09

 ささだです.

[#43501] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

>> ということは危ないのは RUBY_VM_SET_INTERRUPT() がロストしたときに、タイムアウトなしの

[#43468] Re: [ruby-changes:19438] Ruby:r31478 (trunk): * test/date/*.rb: use skip /w messages. — KOSAKI Motohiro <kosaki.motohiro@...>

2011/5/8 tadf <ko1@atdot.net>:

8 messages 2011/05/08

[#43476] [Ruby 1.9 - Feature #4653][Open] [PATCH 1/1] new method Enumerable#rude_map — Shyouhei Urabe <shyouhei@...>

16 messages 2011/05/08

[#43493] [Ruby 1.9 - Feature #4657][Open] add option to hide skip messages on unit/test — Shota Fukumori <sorah@...>

11 messages 2011/05/09

[#43502] draft schedule of Ruby 1.9.3 — "Yuki Sonoda (Yugui)" <yugui@...>

-----BEGIN PGP SIGNED MESSAGE-----

23 messages 2011/05/09
[#43505] Re: draft schedule of Ruby 1.9.3 — "U.Nakamura" <usa@...> 2011/05/10

Hello,

[#43513] Re: draft schedule of Ruby 1.9.3 — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/10

(ruby-coreはずしました)

[#43587] [Ruby 1.9 - Feature #4788][Open] resolv.rb refactoring — Makoto Kishimoto <redmine@...>

15 messages 2011/05/27

[ruby-dev:43469] Re: GVL改善案

From: KOSAKI Motohiro <kosaki.motohiro@...>
Date: 2011-05-08 12:10:03 UTC
List: ruby-dev #43469
kosaki です

もうちょっと、このネタひっぱります。

あと、しばらく前から分かってはいたんですが、現在のtrunkのGVLは1.9.2よりも遅いのに
fairness issueが解決してないという問題があり、具体的には最近nakadaさんが
8coreマシンで make test-all がハングするという現象に遭遇して以下のパッチを
コミットされました。

特に Core i7 みたいなP2Pなキャッシュ構成で

0 until hogehoge

みたいなビジーループ書くとハマるので、これを「直すべき」とするか、
「言語仕様だ、ユーザは気をつけてスクリプト書きやがれ」とするか決めないと
いけない。とかとか


commit 21fcb1c3a19bf6b330aebf14f4c915c0d63925d6
Author: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
Date:   Sat May 7 14:52:54 2011 +0000

    * test/ruby/test_io.rb (TestIO#test_readpartial_lock),
      (TestIO#test_read_lock): get rid of GVL fairness problem.

    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31468
b2dd03c8-39d4-4d8f-98ff-823fe69b080e

diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb
index 07308a0..9171dc6 100644
--- a/test/ruby/test_io.rb
+++ b/test/ruby/test_io.rb
@@ -904,7 +904,7 @@ class TestIO < Test::Unit::TestCase
     with_pipe do |r, w|
       s = ""
       t = Thread.new { r.readpartial(5, s) }
-      0 until s.size == 5
+      Thread.pass until s.size == 5
       assert_raise(RuntimeError) { s.clear }
       w.write "foobarbaz"
       w.close
@@ -939,7 +939,7 @@ class TestIO < Test::Unit::TestCase
     with_pipe do |r, w|
       s = ""
       t = Thread.new { r.read(5, s) }
-      0 until s.size == 5
+      Thread.pass until s.size == 5
       assert_raise(RuntimeError) { s.clear }
       w.write "foobarbaz"
       w.close

In This Thread