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年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)