Bug #4808
closed
thread_wait_for() eats 100% of CPU power
Added by nagai (Hidetoshi Nagai) over 13 years ago.
Updated over 13 years ago.
Description
いつからかは把握できていませんが (少なくとも 1.9.2p0 では発生しません),
thread_wait_for() が CPU パワーを大量に消費するようになっています.
これが原因で,Ruby/Tk も CPU を 100 % 消費してしまいます.¶
このままリリースになってしまうとかなりまずいと思いますので,
優先度 High で急ぎ報告だけあげておきます.
以下はテスト用のコードです.
make 後に ruby -r ./th_wait_for.so -e '' でお試しください.
----<th_wait_for.c>-----------------------------------------
#include "ruby.h"
void
Init_th_wait_for()
{
struct timeval t;
t.tv_sec = 0;
t.tv_usec = 10000; /* 10ms */
while(1) {
fprintf(stderr, "*");fflush(stderr);
rb_thread_wait_for(t);
}
}
----<extconf.rb>--------------------------------------------
require 'mkmf'
create_makefile('th_wait_for');
--
永井 秀利 (nagai@ai.kyutech.ac.jp)
九州工業大学大学院情報工学研究院知能情報工学研究系知能情報メディア部門助教
- Status changed from Open to Assigned
- Assignee set to kosaki (Motohiro KOSAKI)
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r31893.
Hidetoshi, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- thread_pthread.c (native_sleep): fix 1000times calculation error.
this is a regression since r31457. [Bug #4808] [ruby-dev:43606]
- ruby -v changed from ruby 1.9.3dev (2011-06-01 trunk 31874) [x86_64-linux] to -
いつからかは把握できていませんが (少なくとも 1.9.2p0 では発生しません),
thread_wait_for() が CPU パワーを大量に消費するようになっています.
これが原因で,Ruby/Tk も CPU を 100 % 消費してしまいます.¶
このままリリースになってしまうとかなりまずいと思いますので,
優先度 High で急ぎ報告だけあげておきます.
亀レスですいません。最近 Ruby/tk にCPU使用率を下げるコミットがいくつか
入っているようですが、r31893 では不十分だったということなんでしょうか?
それとも、全然別件の改善なのでしょうか?
ご迷惑をおかけしているのではないかと心配しているので教えていただければ
幸いです
いつからかは把握できていませんが (少なくとも 1.9.2p0 では発生しません),
thread_wait_for() が CPU パワーを大量に消費するようになっています.
これが原因で,Ruby/Tk も CPU を 100 % 消費してしまいます.¶
このままリリースになってしまうとかなりまずいと思いますので,
優先度 High で急ぎ報告だけあげておきます.
亀レスですいません。最近 Ruby/tk にCPU使用率を下げるコミットがいくつか
入っているようですが、r31893 では不十分だったということなんでしょうか?
それとも、全然別件の改善なのでしょうか?
ご迷惑をおかけしているのではないかと心配しているので教えていただければ
幸いです
永井@知能.九工大です.
From: KOSAKI Motohiro kosaki.motohiro@gmail.com
Subject: [ruby-dev:43611] Re: [Ruby 1.9 - Bug #4808][Open] thread_wait_for() eats 100% of CPU power
Date: Thu, 2 Jun 2011 22:37:45 +0900
Message-ID: BANLkTi=yranguetmJdJ65orvtHSEx6pCnQ@mail.gmail.com
いつからかは把握できていませんが (少なくとも 1.9.2p0 では発生しません),
thread_wait_for() が CPU パワーを大量に消費するようになっています.
これが原因で,Ruby/Tk も CPU を 100 % 消費してしまいます.¶
このままリリースになってしまうとかなりまずいと思いますので,
優先度 High で急ぎ報告だけあげておきます.
亀レスですいません。最近 Ruby/tk にCPU使用率を下げるコミットがいくつか
入っているようですが、r31893 では不十分だったということなんでしょうか?
それとも、全然別件の改善なのでしょうか?
ごめんなさい.紛らわしかったですね.
当初報告した問題は r31893 で解消しました.ありがとうございます.
ですが,それでもなお CPU 利用率が高かったので,
以前と異なる方法で thread 切替えタイミングを決めるようにしたのが
その後の patch です.
手元の環境では,CPU 利用率が patch 適用前の 1/10 くらいになります.
昔に比べてマシンが速くなっていることもあり,¶
以前のやり方では通用しなくなっていたようです.¶
効果が大きいので 1.9.2 にも backport した方がいいとは思うのですが,
テスト期間が十分ではないことが心配点です.
多分,大丈夫だろうとは考えているのですが...
永井 秀利 (nagai@ai.kyutech.ac.jp)
九州工業大学大学院情報工学研究院知能情報工学研究系知能情報メディア部門助教
永井@知能.九工大です.
From: KOSAKI Motohiro kosaki.motohiro@gmail.com
Subject: [ruby-dev:43611] Re: [Ruby 1.9 - Bug #4808][Open] thread_wait_for() eats 100% of CPU power
Date: Thu, 2 Jun 2011 22:37:45 +0900
Message-ID: BANLkTi=yranguetmJdJ65orvtHSEx6pCnQ@mail.gmail.com
いつからかは把握できていませんが (少なくとも 1.9.2p0 では発生しません),
thread_wait_for() が CPU パワーを大量に消費するようになっています.
これが原因で,Ruby/Tk も CPU を 100 % 消費してしまいます.¶
このままリリースになってしまうとかなりまずいと思いますので,
優先度 High で急ぎ報告だけあげておきます.
亀レスですいません。最近 Ruby/tk にCPU使用率を下げるコミットがいくつか
入っているようですが、r31893 では不十分だったということなんでしょうか?
それとも、全然別件の改善なのでしょうか?
ごめんなさい.紛らわしかったですね.
当初報告した問題は r31893 で解消しました.ありがとうございます.
ですが,それでもなお CPU 利用率が高かったので,
以前と異なる方法で thread 切替えタイミングを決めるようにしたのが
その後の patch です.
手元の環境では,CPU 利用率が patch 適用前の 1/10 くらいになります.
昔に比べてマシンが速くなっていることもあり,¶
以前のやり方では通用しなくなっていたようです.¶
効果が大きいので 1.9.2 にも backport した方がいいとは思うのですが,
テスト期間が十分ではないことが心配点です.
多分,大丈夫だろうとは考えているのですが...
永井 秀利 (nagai@ai.kyutech.ac.jp)
九州工業大学大学院情報工学研究院知能情報工学研究系知能情報メディア部門助教
亀レスですいません。最近 Ruby/tk にCPU使用率を下げるコミットがいくつか
入っているようですが、r31893 では不十分だったということなんでしょうか?
それとも、全然別件の改善なのでしょうか?
ごめんなさい.紛らわしかったですね.
当初報告した問題は r31893 で解消しました.ありがとうございます.
ですが,それでもなお CPU 利用率が高かったので,
以前と異なる方法で thread 切替えタイミングを決めるようにしたのが
その後の patch です.
手元の環境では,CPU 利用率が patch 適用前の 1/10 くらいになります.
なるほど。理解できました。丁寧にありがとうございます。1/10とは素晴らしいですね
亀レスですいません。最近 Ruby/tk にCPU使用率を下げるコミットがいくつか
入っているようですが、r31893 では不十分だったということなんでしょうか?
それとも、全然別件の改善なのでしょうか?
ごめんなさい.紛らわしかったですね.
当初報告した問題は r31893 で解消しました.ありがとうございます.
ですが,それでもなお CPU 利用率が高かったので,
以前と異なる方法で thread 切替えタイミングを決めるようにしたのが
その後の patch です.
手元の環境では,CPU 利用率が patch 適用前の 1/10 くらいになります.
なるほど。理解できました。丁寧にありがとうございます。1/10とは素晴らしいですね
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0Like0Like0