[FreeBSD-users-jp 90445] Re: amd64x2 の動作について
柳澤です。 On Tue, 13 Mar 2007 11:31:04 +0900 [EMAIL PROTECTED] wrote: 多分hyperthreadingが有効(6.0-RELEASEではデフォルト無効でした)になって いないのが問題では無いでしょうか? Athlon64 X2にはその影響は無いと思います。 HyperThreadingが無効になっているのは、HyperThreadingを有効にすると 暗号化を行っているときに秘密鍵が漏洩する脆弱性があるからです。(*1) しかしながら、Athlon64 X2では各々のコアごとにキャッシュがある(*2)ので この脆弱性はありません。 sysctl -w machdep.hyperthreading_allowed=1 をお試し下さい。 実際、machdep.hyperthreading_allowedというsysctlは Athlon64 X2では出てきません。もう少し調べてみましたが、 sys/amd64/amd64/mp_machdep.cの次の行が 満たされないとこのオプションは出現しないようです。 364 if ((cpu_feature CPUID_HTT) 365 (strcmp(cpu_vendor, GenuineIntel) == 0)) { ここの中でhyperthreading_cpusが設定され、これがあると、 hyperthreading_cpus_maskが設定され、これが設定されていると 同ファイルの1197-1206行目が実行されてsysctlで設定できるように なるようです。 何故Intelだけmachdep.hyperthreadingオプションがあるのかと 更に疑問に思ったので調べてみましたが、Intel Core Duoでは下に Smart Cacheなるものがあり、キャッシュを共用します。(*3) よって、(*1)で指摘されていた脆弱性がある可能性はありそうです。 (それとも、Smartなだけに回避策がとられてるのかな...) (*1) http://www.daemonology.net/hyperthreading-considered-harmful/ http://journal.mycom.co.jp/articles/2005/05/17/ht/002.html (*2) http://www.amd.com/jp-ja/Processors/ProductInformation/0,,30_118_9485_13041%5E13043,00.html (*3) http://www.intel.co.jp/products/processor/coreduo/product-brief.pdf -- --- Yoshisato YANAGISAWA [EMAIL PROTECTED] Dept. of Mathematical and Computing Sciences, Graduate School of Information Science and Engineering, Tokyo Institute of Technology. /* If you are an *BSD user, let's join http://bsdstats.org/ */
[FreeBSD-users-jp 90446] Re: amd64x2 の動作について
大隅です。 川口さん、柳澤さん、清家さん、コメントありがとうございます。 dnetc のクライアントを2個起動すると CPU 使用率は 100% になりました。 ただ、top の C 欄を見ているとどちらのプロセスも 0 で動き続けていて 同じ CPU を使っているように見えます。 川口さんへ sysctl -a | grep smp の結果をとってみました。 % sysctl -a |grep smp kern.timecounter.smp_tsc: 0 kern.smp.maxcpus: 16 kern.smp.active: 1 kern.smp.disabled: 0 kern.smp.cpus: 2 kern.smp.forward_signal_enabled: 1 kern.smp.forward_roundrobin_enabled: 1 localhost%sysctl -a | grep smp kern.timecounter.smp_tsc: 0 kern.smp.forward_roundrobin_enabled: 1 kern.smp.forward_signal_enabled: 1 kern.smp.cpus: 2 kern.smp.disabled: 0 kern.smp.active: 1 kern.smp.maxcpus: 16 表示される順番は違いますが、値はあっているようです。 清家さんへ amd64x2 には machdep.hyperthreading_allowed がありませんでした。。。 localhost %sysctl -a | grep -i machdep machdep.adjkerntz: -32400 machdep.disable_rtc_set: 0 machdep.wall_cmos_clock: 1 machdep.acpi_timer_freq: 3579545 machdep.acpi_root: 1013104 machdep.disable_mtrrs: 0 machdep.cpu_idle_hlt: 1 machdep.hlt_cpus: 0 machdep.panic_on_nmi: 1 machdep.tsc_freq: 2004188503 machdep.i8254_freq: 1193182 machdep.conspeed: 9600 machdep.gdbspeed: 9600 machdep.conrclk: 1843200 machdep.enable_panic_key: 0 柳澤さんへ 時計の指摘ありがとうございました。 勉強し直してきます。 -- 大隅 洋
[FreeBSD-users-jp 90448] Re: amd64x2 の動作について
田中と申します。 top コマンドを実行しても CPU 行が1行しか表示されません。 これはオプションを使用すると2行になるのか、 それとももともと1行しか表示されない CPU なのでしょうか。 topコマンドでCPUそれぞれが表示されるのは、Linux系のディストリビューションに 含まれているtopコマンドの表示形式のようです。 わたしが知る限りですが、RHEL(確か2.6)のものですと、デフォルト表示、 Debian付属のものですと、top表示時に1を押すと、CPU個別に表示が切り替わって いました。 FreeBSDからtopコマンドを知った身としては、Linux系のCPUそれぞれ表示の方が 珍しく感じました。 (それ以前は、topコマンドなんて無いUnix系環境にいましたので) FreeBSDでは、topの『C』という項目が、どのCPUを使用しているかを表しています。 どのCPUがどれだけ使用しているかは、『top -S』として、 10 root 1 171 52 0K 8K CPU1 1 47.3H 92.48% idle: cpu1 11 root 1 171 52 0K 8K RUN 0 46.6H 92.48% idle: cpu0 といった感じで、idleの減り具合から判断するという手段もありますが。 (2CPUの確認ならば、idleが二つあれば分かるとも言えます) 以上です。 Hirosi Osumi wrote: こんにちわ、大隅@MLは数年ぶりに投稿です。 AMD 64x2 CPU を購入し、FreeBSD/amd64 6.2-RELEASE をインストールしたのですが、 すこし疑問に思うところがありまして投稿しました。 dmesg には以下のように CPU が二つ認識しているようですが FeeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 top コマンドを実行しても CPU 行が1行しか表示されません。 これはオプションを使用すると2行になるのか、 それとももともと1行しか表示されない CPU なのでしょうか。 カーネルは options SMP を組み込んで作り直しています。 また、CPU 使用率も dnetc/RC5-72 を実行しているので 使用率は 100% になるかと思ったのですが、50% で止まっていて 片方しか使っていないようです。 dnetc のログを見ると2つ並行して動かしているように見えるのですが。。。 [Mar 12 14:39:54 UTC] Automatic processor detection found 2 processors. [Mar 12 14:39:54 UTC] Loading crunchers with work... [Mar 12 14:39:54 UTC] Automatic processor type detection found an AMD K8-11 processor. [Mar 12 14:40:17 UTC] RC5-72: using core #1 (KBE-64 3-pipe). [Mar 12 14:40:17 UTC] RC5-72 #a: Loaded CB:7C3645AA::1*2^32 (31.50% done) [Mar 12 14:40:17 UTC] RC5-72 #b: Loaded CB:7C3645A7::1*2^32 (31.50% done) amd64x2 プロセッサに対して認識が間違っているのであれば ご指摘願います。 -- 大隅 洋
[FreeBSD-users-jp 90449] MSDOSFS の 時刻について
とがわです. PanasonicのDMC-FX5というデジカメをFreeBSDに繋いでデータの吸い上げをしています. この機種は,FreeBSDからはUSBマスストレージとして見え,その上に MSDOSFSがあるように見えます. で,このデジカメをJSTに時刻を合わせているのですが,FreeBSD側では 時刻がUTCであるかのような動作をします.具体的には,15時に取った 写真が,次の日の0時のタイムスタンプで表示されます. これを直す方法はないのでしょうか? ちなみに,FreeBSD側の設定は,PCの時計をUTCに合わせる設定になっています. 以上です. -- [EMAIL PROTECTED] 戸川聡士
[FreeBSD-users-jp 90450] Re: MSDOSFS の時刻について
平野です。 私はFreeBSD-users-jp 82091にある様に sysctl machdep.adjkerntz=-32400 をしてmsdosfsの時間を合わせてます。 とがわです. PanasonicのDMC-FX5というデジカメをFreeBSDに繋いでデータの吸い上げをしていま す. この機種は,FreeBSDからはUSBマスストレージとして見え,その上に MSDOSFSがあるように見えます. で,このデジカメをJSTに時刻を合わせているのですが,FreeBSD側では 時刻がUTCであるかのような動作をします.具体的には,15時に取った 写真が,次の日の0時のタイムスタンプで表示されます. これを直す方法はないのでしょうか? ちなみに,FreeBSD側の設定は,PCの時計をUTCに合わせる設定になっています. 以上です. -- [EMAIL PROTECTED] 戸川聡士