[FreeBSD-users-jp 90445] Re: amd64x2 の動作について

2007-03-13 スレッド表示 Yoshisato YANAGISAWA

柳澤です。

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 の動作について

2007-03-13 スレッド表示 Hirosi Osumi
大隅です。

川口さん、柳澤さん、清家さん、コメントありがとうございます。

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 の動作について

2007-03-13 スレッド表示 田中 修一

田中と申します。

 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 の 時刻について

2007-03-13 スレッド表示 TOGAWA Satoshi
とがわです.

PanasonicのDMC-FX5というデジカメをFreeBSDに繋いでデータの吸い上げをしています.
この機種は,FreeBSDからはUSBマスストレージとして見え,その上に
MSDOSFSがあるように見えます.

で,このデジカメをJSTに時刻を合わせているのですが,FreeBSD側では
時刻がUTCであるかのような動作をします.具体的には,15時に取った
写真が,次の日の0時のタイムスタンプで表示されます.

これを直す方法はないのでしょうか?

ちなみに,FreeBSD側の設定は,PCの時計をUTCに合わせる設定になっています.

以上です.

-- 
[EMAIL PROTECTED] 戸川聡士


[FreeBSD-users-jp 90450] Re: MSDOSFS の時刻について

2007-03-13 スレッド表示 Moriyasu Hirano
平野です。

私は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] 戸川聡士