2010/8/22:本掲示板は閲覧専用です。データが一部破損しておりますがご了承ください。
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
6 / 376 ツリー ←次へ | 前へ→

【995】CrystalCPUID 感想&要望&バグ報告 ひよひよ 04/5/31(月) 0:26

【1114】Re:CrystalCPUID 感想&要望&バグ報告 To 04/8/29(日) 13:07
【1115】Re:CrystalCPUID 感想&要望&バグ報告 ひよひよ 04/8/29(日) 23:36
【1122】Re:CrystalCPUID 感想&要望&バグ報告 To 04/8/31(火) 9:37
【1123】Re:CrystalCPUID 感想&要望&バグ報告 ひよひよ 04/9/1(水) 1:16
【1124】Re:CrystalCPUID 感想&要望&バグ報告 To 04/9/1(水) 2:21
【1125】Re:CrystalCPUID 感想&要望&バグ報告 ひよひよ 04/9/1(水) 7:48
【1126】Re:CrystalCPUID 感想&要望&バグ報告 To 04/9/1(水) 8:49
【1127】Re:CrystalCPUID 感想&要望&バグ報告 ひよひよ 04/9/1(水) 8:55
【1131】Re:CrystalCPUID 感想&要望&バグ報告 ひよひよ 04/9/2(木) 8:31
【1132】Re:CrystalCPUID 感想&要望&バグ報告 To 04/9/2(木) 9:41
【1133】Re:CrystalCPUID 感想&要望&バグ報告 ひよひよ 04/9/3(金) 0:21
【1134】Re:CrystalCPUID 感想&要望&バグ報告 To 04/9/4(土) 15:58
【1135】Re:CrystalCPUID 感想&要望&バグ報告 ひよひよ 04/9/5(日) 13:49

【1114】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 To  - 04/8/29(日) 13:07 -

引用なし
パスワード
   ▼ひよひよさん:
>貴重な情報ありがとうございます。
>HAL.dll を解析されるとは・・・。
>
デバッガで、追っていくと "KERNEL32" -> "NTDLL" -> "HAL.DLL"
と行くようです。("NTDLL" -> "HAL.DLL"の部分はデバッガでは追えないので、推測ですが・・・)
で を試しに"HAL.DLL"逆汗してみると、意外にもラベル付きで出力。
思いの外 簡単にわかりました。

ネットで見つけた逆汗なので 大した期待はしていなかったのですが
期待以上に出来が良かったようです。

とこんなところです。

----
それと、"RealTimeClock"の表示(計測)ですが、MPの場合
物理的に同一のCPUから"RDTSC"で値を拾わないとおかしくなると思います。
”SetThreadAffinityMask”で値を拾うCPUを固定しないと、
 初の取得はAのCPU、
 後の取得がBのCPU
といった場合や、その逆の場合も考えらます。
たとえABの周波数が全く同一であっても、カウンタの位相まで合っているとは限りません。
結果おかしくなる”ハズ”だと思いますが、どうでしょうか?
(過去ログを見ると、電源関係の問題対応のため倍率変更にタイムラグを設けておられようで、
 これによっても位相ずれは 生じると思います。)

P4;HTの場合は 物理CPUが一個のみのですのでこのような問題ないと思いますが、
物理的なCPUを複数個もつ、本物のMP構成ではこのような配慮も必要ではないでしょうか?

-----
>もし、デバイスドライバの複数プロセスからの利用方法をご存知でしたら、ソース付きで教えてくだされば嬉しいのですが。

状況はなんと無く理解できましたが、具体的にはどういう問題でしょうか?
ソースコードを公開なされておりますので、
 ”このファイルのこの部分、でこのようなエラーになる。”
等と、具体的言ってもらうと、何か判る事があるかも知れません。

---
ex.ご紹介頂いた”ガジマル”さんの成果は、だいぶ前から存じておりまして、
  私もありがたく利用させてもらっています。

【1115】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 ひよひよ  - 04/8/29(日) 23:36 -

引用なし
パスワード
   ▼Toさん:
>それと、"RealTimeClock"の表示(計測)ですが、MPの場合
>物理的に同一のCPUから"RDTSC"で値を拾わないとおかしくなると思います。
>”SetThreadAffinityMask”で値を拾うCPUを固定しないと、
> 初の取得はAのCPU、
> 後の取得がBのCPU
>といった場合や、その逆の場合も考えらます。
>たとえABの周波数が全く同一であっても、カウンタの位相まで合っているとは限りません。
確かに。本日選択した CPU で RDTSC を常に実行するように変更しておきました。

>>もし、デバイスドライバの複数プロセスからの利用方法をご存知でしたら、ソース付きで教えてくだされば嬉しいのですが。
>
>状況はなんと無く理解できましたが、具体的にはどういう問題でしょうか?
>ソースコードを公開なされておりますので、
> ”このファイルのこの部分、でこのようなエラーになる。”
>等と、具体的言ってもらうと、何か判る事があるかも知れません。
CrystalCPUID を二個起動しようとすると(今は Mutex で制限しているので二個は起動できませんが)、二個目はドライバのロードに失敗してしまうのです。昔かなりの時間をかけて調査したのですが、DDK に入っているサンプルドライバも複数起動した際、一個しかドライバはロードできなかったので、困っているのです。

ガジマルさんにも問い合わせたのですが、バグなのだが、本業が忙しくて修正できないといった感じだったので、自分でなんとかしたいとは思っていたのですが・・・。未だに改善できず。WCPUID や CPU-Z は複数起動できるので羨ましいなと。

多分些細なことだとは思うのですがねぇ。

【1122】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 To  - 04/8/31(火) 9:37 -

引用なし
パスワード
   >ガジマルさんにも問い合わせたのですが、バグなのだが、本業が忙しくて修正できないといった感じだったので、自分でなんとかしたいとは思っていたのですが・・・。未だに改善できず。WCPUID や CPU-Z は複数起動できるので羨ましいなと。
>
>多分些細なことだとは思うのですがねぇ。
-----

>”ドライバのロードに失敗”
という抽象的な表現のため、問題を性格に把握できていないかもしれませんが、
以下の内容を確認いたしました。

[内容]
ドライバー(SysInfo.sys?)が、排他の設定でコーディングのされているため、
サービスの共有ができません。
(ガジマルさん現状公開の物はこうは なっていませんよね?)

該当部分を修正すると、"WCPUID"程度のレベルにはなります。

--Ex.--
"WCPUID"でも次のような場合ロードに失敗しますので、
それほで厳密に実装しているようでもないようです。
 一個目を立ち上げる (”A”)
 2個目を立ち上げる (”B”)
 ”A”をクローズする。
 これ以降は、”B”をクローズしない限り、全ての立ち上げが失敗します。

もしかして問題は、こちらのほうですか?

----
ガジマルの物をベースになされているようですが、
現状公開なされている物に対して、割り込み部分を相当追加なされているようです。
これって何を目的にした追加ですかね?
CrystalCPUIDで使っているようには見えませんが・・・・

【1123】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 ひよひよ  - 04/9/1(水) 1:16 -

引用なし
パスワード
   ▼Toさん:
>>”ドライバのロードに失敗”
>という抽象的な表現のため、問題を性格に把握できていないかもしれませんが、
>以下の内容を確認いたしました。
>
>[内容]
>ドライバー(SysInfo.sys?)が、排他の設定でコーディングのされているため、
>サービスの共有ができません。
>(ガジマルさん現状公開の物はこうは なっていませんよね?)
なんだか色々参考にしているうちにごっちゃになっているんですよね。
で、排他設定ってどこのことを言っているのでしょうか?

>該当部分を修正すると、"WCPUID"程度のレベルにはなります。

>--Ex.--
>"WCPUID"でも次のような場合ロードに失敗しますので、
>それほで厳密に実装しているようでもないようです。
> 一個目を立ち上げる (”A”)
> 2個目を立ち上げる (”B”)
> ”A”をクローズする。
> これ以降は、”B”をクローズしない限り、全ての立ち上げが失敗します。
>
>もしかして問題は、こちらのほうですか?
そうです。B をクローズしない限り全ての立ち上げに失敗するという問題が以前からありました。いつの間にやらさらに悪化して複数プロセスから全く利用できなくなったのですが、オリジナルの PCI Debug Library for Win32 はまさに上記のパターンでした。この件についてメールしたのですが、前回書いたように本業が忙しくて修正できずとのことでした。
私はデバイスドライバに精通しているわけではないので、正直何をどうすれば CPU-Z のように複数プロセスから利用できるようになるのかわからないのです。というわけで、できる人が掲示板に現れるたびにヘルプ信号を発信してるのです。いつか、ソースを改造して「これでいいんじゃないの?」って感じで提案してくれる神が降臨すると良いのですが。

ちなみに、今確認したところ WCPUID は”B”をクローズしたあとも普通に動作するようですよ。あぁ〜うらやましい。

>現状公開なされている物に対して、割り込み部分を相当追加なされているようです。
>これって何を目的にした追加ですかね?
>CrystalCPUIDで使っているようには見えませんが・・・・
私は TECHI PCIデバイス設計入門 CQ出版 に付属していたバージョンをベースにしています。割り込みに関しては自分で追加なんてできないので、Web で入手できるバージョンと書籍についていたバージョンでは違うのかも知れませんね。(未確認)

どうぞよろしく♪

【1124】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 To  - 04/9/1(水) 2:21 -

引用なし
パスワード
   >で、排他設定ってどこのことを言っているのでしょうか?
>
該当部分です。

  Status = IoCreateDevice(               // Create it.
          DriverObject,
          sizeof(LOCAL_DEVICE_INFO),
          &NtDeviceName,
          DeviceType,
          0,
          TRUE,           // Not Exclusive
          ppDevObj
          );

ちなみに、上のはコメントも逆のようですが…、
ヘルプを見ても、サンプルを見ても下が正解と思います。
          TRUE,           // This is  an exclusive device
          FALSE,           // This isn't an exclusive device

----

>ちなみに、今確認したところ WCPUID は”B”をクローズしたあとも普通に動作するようですよ。あぁ〜うらやましい。

直したのかな? 先の現象を確認した物は "Ver3.3" となっています。
”B”クローズした後も”A”が問題なく動き続けるのは当然ですが、
”A”をクローズ後”B”を開いたままで、新しいものが立ち上がるようでしたら
きっと、それなりの対応なされたのでしょう? どのバージョンでしょうか?

>CPU-Z…
使った事が無いのでよくわかりませんが、早速ご紹介頂いた物を見てみました。
こちらは丁寧に実装なされている様で、上のようなクローズにまつわる不都合点は
見当たりません。

暇をみて調べてみます。

【1125】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 ひよひよ  - 04/9/1(水) 7:48 -

引用なし
パスワード
   ▼Toさん:
>>で、排他設定ってどこのことを言っているのでしょうか?
>>
>該当部分です。
>
>  Status = IoCreateDevice(               // Create it.
>          DriverObject,
>          sizeof(LOCAL_DEVICE_INFO),
>          &NtDeviceName,
>          DeviceType,
>          0,
>          TRUE,           // Not Exclusive
>          ppDevObj
>          );
>
>ちなみに、上のはコメントも逆のようですが…、
>ヘルプを見ても、サンプルを見ても下が正解と思います。
>          TRUE,           // This is  an exclusive device
>          FALSE,           // This isn't an exclusive device
>
>----
ありがとうございます。早速調査してみます。

>>ちなみに、今確認したところ WCPUID は”B”をクローズしたあとも普通に動作するようですよ。あぁ〜うらやましい。


>直したのかな? 先の現象を確認した物は "Ver3.3" となっています。
>”B”クローズした後も”A”が問題なく動き続けるのは当然ですが、
>”A”をクローズ後”B”を開いたままで、新しいものが立ち上がるようでしたら
>きっと、それなりの対応なされたのでしょう? どのバージョンでしょうか?
3.1a です(古… 3.3 で確認したところ確かにこの現象を確認できました。何か改悪されたのでしょうかね。

>暇をみて調べてみます。
ホント暇なときでいいんでぜひ!!
私も再調査してみます。

【1126】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 To  - 04/9/1(水) 8:49 -

引用なし
パスワード
   >3.1a です(古… 3.3 で確認したところ確かにこの現象を確認できました。何か改悪されたのでしょうかね。
>
改めにて、3.1a調べてみました。
3.3と同一の症状です。環境依存でしょうかね?。(環境はWin2k:SP4です。)

【1127】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 ひよひよ  - 04/9/1(水) 8:55 -

引用なし
パスワード
   ▼Toさん:
>>3.1a です(古… 3.3 で確認したところ確かにこの現象を確認できました。何か改悪されたのでしょうかね。
>>
>改めにて、3.1a調べてみました。
>3.3と同一の症状です。環境依存でしょうかね?。(環境はWin2k:SP4です。)
かもしれませんね。うちは XPSP1 です。

【1131】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 ひよひよ  - 04/9/2(木) 8:31 -

引用なし
パスワード
   ▼Toさん:
>>で、排他設定ってどこのことを言っているのでしょうか?
>>
>該当部分です。
>
>  Status = IoCreateDevice(               // Create it.
>          DriverObject,
>          sizeof(LOCAL_DEVICE_INFO),
>          &NtDeviceName,
>          DeviceType,
>          0,
>          TRUE,           // Not Exclusive
>          ppDevObj
>          );
>
>ちなみに、上のはコメントも逆のようですが…、
>ヘルプを見ても、サンプルを見ても下が正解と思います。
>          TRUE,           // This is  an exclusive device
>          FALSE,           // This isn't an exclusive device
今朝確認したところ確かに同時にドライバにアクセスできるようになりました。あとは、ドライバロードの部分を修正すればちゃんと動くようになるはず...がんばるか。

【1132】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 To  - 04/9/2(木) 9:41 -

引用なし
パスワード
   >今朝確認したところ確かに同時にドライバにアクセスできるようになりました。あとは、ドライバロードの部分を修正すればちゃんと動くようになるはず...がんばるか。

実装方法の内容/品質は別として、
 ”B”クローズした後も”A”
 ”A”をクローズ後”B” ・・・・・
の問題に関しては、解決しております。
もし情報が必要であれば、声でもかけてみて下さい。

---
追:WCPUID:3.1aは、こちらXPSP1環境でもだめでした。(まあ、どうでもよい事ですが。)

【1133】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 ひよひよ  - 04/9/3(金) 0:21 -

引用なし
パスワード
   ▼Toさん:
>>今朝確認したところ確かに同時にドライバにアクセスできるようになりました。あとは、ドライバロードの部分を修正すればちゃんと動くようになるはず...がんばるか。
>
>実装方法の内容/品質は別として、
> ”B”クローズした後も”A”
> ”A”をクローズ後”B” ・・・・・
>の問題に関しては、解決しております。
>もし情報が必要であれば、声でもかけてみて下さい。
ぜひお願いします!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
メールでアドバイス(ソース)を送ってくださったりすると激しく感激なのでよろしくお願いいたします。

【1134】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 To  - 04/9/4(土) 15:58 -

引用なし
パスワード
   >>もし情報が必要であれば、声でもかけてみて下さい。
>ぜひお願いします!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>メールでアドバイス(ソース)を送ってくださったりすると激しく感激なのでよろしくお願いいたします。

先ほど、プロジェクト・ツリーごと送らせていただきました。
”A/B”の件、もし役に立つようで有れば、どうぞご自由に。

個人的には、この ”A/B”の件よりも
MP構成における”HALとタイマーの問題”が解決できた事の方が大きな収穫でした。

今回は、色々とお付き合い頂き ありがとうございました。

【1135】Re:CrystalCPUID 感想&要望&バグ報告
←back ↑menu ↑top forward→
 ひよひよ  - 04/9/5(日) 13:49 -

引用なし
パスワード
   ▼Toさん:
>>>もし情報が必要であれば、声でもかけてみて下さい。
>>ぜひお願いします!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>>メールでアドバイス(ソース)を送ってくださったりすると激しく感激なのでよろしくお願いいたします。
>先ほど、プロジェクト・ツリーごと送らせていただきました。
>”A/B”の件、もし役に立つようで有れば、どうぞご自由に。
本当にありがとうございました。CrystalMark/CrystalCPUID の開発は非常に多くの人の助けがあって成り立っておりますが、随分悩まされた問題がようやく解決して本当に嬉しいです。

改めてソースコードを公開していて本当に良かったなと思います。ただ、To さんに指摘されたように、ビルドするために手間がかかりすぎるという問題もあるので、現在 x64 版との兼ね合いも含めて調整しています。

CrystalCPUID の About ダイアログおよび SysInfo.txt のスペシャルサンクスのコーナーに掲載させていただいたのですが、To 様は Web サイト等はお持ちではないのでしょうか?

6 / 376 ツリー ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
ページ:  ┃  記事番号:   
51982
(SS)C-BOARD v3.8(とほほ改ver2.1) is Free