hns - 日記自動生成システム - Version 2.19.9

先月 2009年04月 来月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2009年04月06日(月) 旧暦 [n年日記] [更新:"2009/04/09 00:18:21"]

#1 [NetBSD][機械] ML115/G5 に NetBSD/amd64 5.0_RC3 を入れて見た

ML115/G5 が最近まで安く買えるようになっていた (今は終了している)。 これに (PCIE x 16) Video Card を追加し、メモリは 4GB にしてから NetBSD/amd64 5.0_RC3 を入れて見た。ただし、4GB にしただけで sysinst の中の MAKEDEV all で停止するし、 更に Video Card が入っていると kernel が最初から動かないので、まずは 2GB で設置、 kernel を作り直してから +Video Card 4GB としている。

購入構成 (31,500 円):

Athlon 4450B 2.3GHz 1MB L2 Cache Dual Core
Memory 1GB PC2-6400 unbuffer ECC DDR2
HDD 160GB SATA Seagate Barracuda 7200.10
追加、(以下は自分で後から追加したもの) 元のメモリは外して DL320 に入れてある。
Memory Transcend (2GB x 2) 4GB
HDD Western Digital WD2500JS
ATI Radeon HD3450 RH3450-LE256H/HS

Software:

  • OS
    NetBSD/amd64 5.0_RC3
    いつものように netboot で入れる
    (5.0 から、初期設定で ddb.onpanic = 0 になっているのはちょっとうれしい)
  • X11
    modular xorg
    xorg.conf は xorgconfig で作ってから手で調整した (Driver radeonhd)
  • 用途別 (application)
    pkgsrc ( config-serv + config-desktop )

問題:

  • uvm fault trap で三日に一回くらい再起動する (続報)
  • disk が遅い
    Seagate 7200.10 が付いているが、これを WD2500JS に換えると通常の速度になる
    atactl /dev/wd0a smart status で見ると Seagate は 異常な数値を表示する
  • PS/2 の keyboard が付いていると X11 の起動が遅い
  • 良く言われている通り 4GB Memory と 追加 PCI-Express Video Card の共存には問題がある
    kernel が起動する時に、すぐに再起動になってしまう
    pci@ppb4 を構成しないような GENERIC kernel を 作っておくと、上記問題は回避可能
    --- GENERIC     2009-02-20 05:23:46.000000000 +0900
    +++ GENERIC-nopci-ppb4  2009-04-05 18:58:42.000000000 +0900
    @@ -314,7 +314,13 @@
     # PCI bus support
     pci*   at mainbus? bus ?
     pci*   at pchb? bus ?
    -pci*   at ppb? bus ?
    +pci*   at ppb0 bus ?
    +pci*   at ppb1 bus ?
    +pci*   at ppb2 bus ?
    +pci*   at ppb3 bus ?
    +pci*   at ppb5 bus ?
    +pci*   at ppb6 bus ?
    +pci*   at ppb7 bus ?
     
     # PCI bridges
     pchb*  at pci? dev ? function ?        # PCI-Host bridges
    
  • ATI Radeon HD3450 RH3450-LE256H/HS
    は、アナログ側だと色がうすく何か違和感がある がディジタル側はとてもきれい。

8GB:

試しに Memory を 8GB にして見たが、追加 Video Card の有無に 関係なく、pool_grow で uvm fault し kernel が起動しなかった。

きょうも uvm fault:

kernel を作り直そうとするとすぐに uvm fault になる (amd64 5.0_RC3 + 4GB + Video Card + GENERIC - nopci@ppb4)
Apr  6 09:49:12 m08 4  6 09:49:12 sudo:   makoto : TTY=pts/0 ; PWD=/export/src-5 ; USER=root ; 
   COMMAND=./build.sh -j 3 -T /export/src-5/tooldir.NetBSD-5.0_RC3-amd64 kernel=GENERIC-noppb4
Apr  6 09:54:09 m08 syslogd: restart
Apr  6 09:10:30 m08 /netbsd: uvm_fault(0xffff80004e63d5f0, 0x7f8000002000, 1) -> e
Apr  6 09:10:30 m08 /netbsd: fatal page fault in supervisor mode
Apr  6 09:10:30 m08 /netbsd: trap type 6 code 0 
     rip ffffffff804e57f0 cs 8 rflags 10202
     cr2  7f8000002810 cpl 0 
     rsp ffff80004e7380c0
Apr  6 09:10:30 m08 /netbsd: panic: trap
Apr  6 09:10:30 m08 /netbsd: Begin traceback...
(良く見ると時刻がさかのぼっていて変だけれど)
trap type 6 -> #define T_PAGEFLT 6 /* page fault */
この時に注目するのは rip の値でいいのかな:
pts/0:makoto@m08 10:50:59/090406(~)> nm /netbsd | sort -k 1 | grep '804e57f0'
pts/0:makoto@m08 10:51:29/090406(~)> nm /netbsd | sort -k 1 | grep '804e57f'
pts/0:makoto@m08 10:51:31/090406(~)> nm /netbsd | sort -k 1 | grep '804e57'
pts/0:makoto@m08 10:51:32/090406(~)> nm /netbsd | sort -k 1 | grep '804e5'
ffffffff804e5460 T pmap_collect
ffffffff804e5480 T pmap_remove
ffffffff804e5490 T pmap_enter
ffffffff804e5c80 T pmap_unwire
ffffffff804e5d60 T pmap_page_remove
pts/0:makoto@m08 10:51:34/090406(~)> 
objdump -D /netbsd:
ffffffff804e57e5:       48 03 5d d0             add    0xffffffffffffffd0(%rbp),%rbx
ffffffff804e57e9:       66                      data16
ffffffff804e57ea:       66                      data16
ffffffff804e57eb:       66                      data16
ffffffff804e57ec:       90                      nop    
ffffffff804e57ed:       66                      data16
ffffffff804e57ee:       66                      data16
ffffffff804e57ef:       90                      nop    
ffffffff804e57f0:       4c 8b 2b                mov    (%rbx),%r13
ffffffff804e57f3:       4c 89 e0                mov    %r12,%rax
ffffffff804e57f6:       4c 31 e8                xor    %r13,%rax
ffffffff804e57f9:       49 85 c6                test   %rax,%r14
ffffffff804e57fc:       75 09                   jne    ffffffff804e5807 <pmap_enter+0x377>
ffffffff804e57fe:       4c 89 e8                mov    %r13,%rax
ffffffff804e5801:       83 e0 60                and    $0x60,%eax
ffffffff804e5804:       49 09 c4                or     %rax,%r12
ffffffff804e5807:       4c 89 e2                mov    %r12,%rdx
ffffffff804e580a:       4c 89 ee                mov    %r13,%rsi
ffffffff804e580d:       48 89 df                mov    %rbx,%rdi
ffffffff804e5810:       e8 eb b0 22 00          callq  ffffffff80710900 <_atomic_cas_64>
また起きた: 全く同じところでしょうか ?
Apr  6 11:25:10 m08 /netbsd: trap type 6 code 0 
rip ffffffff804e57f0 cs 8 rflags 10206 cr2  7fbfbfffffe8 cpl 0 rsp ffff80004dc5c240
 4419 349d 488D1CC5             leaq    0(,%rax,8), %rbx
 4419      00000000 
 4420 34a5 48035DD0             addq    -48(%rbp), %rbx
 4421 34a9 66666690             .p2align 4,,7
 4421      666690
 4422                   .L775:
 4423 34b0 4C8B2B               movq    (%rbx), %r13
 4424 34b3 4C89E0               movq    %r12, %rax
 4425 34b6 4C31E8               xorq    %r13, %rax
 4426 34b9 4985C6               testq   %r14, %rax
 4427 34bc 7509                 jne     .L776
 4428 34be 4C89E8               movq    %r13, %rax
 4429 34c1 83E060               andl    $96, %eax
 4430 34c4 4909C4               orq     %rax, %r12
 4431                   .L776:
 4432 34c7 4C89E2               movq    %r12, %rdx
 4433 34ca 4C89EE               movq    %r13, %rsi
 4434 34cd 4889DF               movq    %rbx, %rdi
 4435 34d0 E8000000             call    atomic_cas_64
 4435      00
 4436 34d5 4939C5               cmpq    %rax, %r13
 4437 34d8 75D6                 jne     .L775
(Why .p2align is placed in such a line ? and fill code is not all 'NOP' ?)
src/sys/arch/x86/x86/pmap.c:
  4539                         count = SPINLOCK_BACKOFF_MIN;
  4540                         do {
  4541                                 if ((head = mb->mb_head) != mb->mb_tail) {
  4542                                         splx(s);
  4543                                         while ((head = mb->mb_head) !=
  4544                                             mb->mb_tail)
  4545                                                 SPINLOCK_BACKOFF(count);
  4546                                         s = splvm();
  4547                                 }
  4548                         } while (atomic_cas_ulong(
  4549                             (volatile u_long *)&mb->mb_head,  
  4550                             head, head + ncpu - 1) != head);
  4551  
cvs annotate:
1.2          (yamt     18-Oct-07):     count = SPINLOCK_BACKOFF_MIN;
1.2          (yamt     18-Oct-07):     do {
1.2          (yamt     18-Oct-07):             if ((head = mb->mb_head) != mb->mb_tail) {
1.2          (yamt     18-Oct-07):                     splx(s);
1.2          (yamt     18-Oct-07):                     while ((head = mb->mb_head) !=
1.2          (yamt     18-Oct-07):                         mb->mb_tail)
1.2          (yamt     18-Oct-07):                             SPINLOCK_BACKOFF(count);
1.2          (yamt     18-Oct-07):                     s = splvm();
1.2          (yamt     18-Oct-07):             }
1.12         (ad       09-Dec-07):     } while (atomic_cas_ulong(
1.11         (ad       09-Dec-07):         (volatile u_long *)&mb->mb_head,
1.12         (ad       09-Dec-07):         head, head + ncpu - 1) != head);
1.2 p         (yamt     18-Oct-07):   
sysctl -w ddb.commandonenter='show registers' して見たが、今度は少し違う ところで、しかも何も表示してくれない
Apr  6 12:28:32 m08 /netbsd: uvm_fault(0xffff80004d9f8008, 0x0, 1) -> e
Apr  6 12:28:32 m08 /netbsd: fatal page fault in supervisor mode
Apr  6 12:28:32 m08 /netbsd: trap type 6 code 0 
	rip ffffffff804e2733 cs 8 rflags 10246 cr2  10 cpl 7 rsp ffff800055cdd870
Apr  6 12:28:32 m08 /netbsd: panic: trap
Apr  6 12:28:32 m08 /netbsd: Begin traceback...



最近の日記
2024年05月06日
py-setuptools (python 3.11.9)
make release took 1 hours and 10 min
qemu invocation for 10.99.10
2024年05月05日
Windows 10 version
serial connection
bc bench
2024年05月04日
Trial on 10.99.10
another version (later trial) to succeed
2024年04月29日
dkim
2024年03月10日
停電 (瞬電)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)