トップ «前の日記(2009-03-03) 最新 次の日記(2009-03-09)» 編集

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2009-03-04 [長年日記]

_ [SAD]ベンチマーク

AthlongMP2800+(2133MHz)と Opteron 242(1600MHz)の比較が結構おもしろい

CPU Clock OS Compiler FunctionOpticsTrackingMatchingOver All
Opteron 242 1.6GHz FreeBSD/amd64 7.1R GCC 4.4.0 20080905(-O3)3.6005.0886.0314.613.2496
Opteron 242 1.6GHz FreeBSD/amd64 7.1R GCC 4.4.0 20080905(-O1)3.9965.1986.4744.699.2657
AlthonMP2800+ 2.13GHzFreeBSD/i386 7.1R GCC 4.4.0 20080905(-O3)4.7895.2894.9704.585.2686
AlthonMP2800+ 2.13GHzFreeBSD/i386 7.1R GCC 4.4.0 20080905(-O1)5.5045.1784.9964.513.2733
Opteron 242 1.6GHz FreeBSD/i386 7.1R GCC 4.4.0 20080905(-O3)4.5285.7026.5115.027.2874
Opteron 242 1.6GHz FreeBSD/i386 7.1R GCC 4.4.0 20080905(-O1)4.7965.9206.5525.230.2986
Opteron 242 1.6GHz FreeBSD/amd64 7.1R GCC 4.4.0 20080905(-m32 -O3)4.6166.0387.0825.322.3020
Opteron 242 1.6GHz FreeBSD/amd64 7.1R GCC 4.4.0 20080905(-m32 -O1)4.8136.2307.1825.478.3114
  • 32bitモードのみで動かすと実クロックの高いAthlonMP2800+が僅かに早い
  • Opteron CG coreのクロック当たりの性能はAthlongMP Barton coreよりも高い
  • Opteron CG coreの64bitモードは、32bitモードに対して15%優速
  • Opteron CG coreの64bitモード内で 32bitバイナリを動作させると5%程度のオーバーヘッドがある

要するに、AMD64なプロセッサでは、可能な限り64bitバイナリを走らせた方が 良いという当たり前の結論にたどり着く。 また、64bitモード内での32bitバイナリ互換機能を使うことが前提なら 最初から32bitモードで動作させた方が良い。

_ [FreeBSD]7-STABLEがbroken?

手元の i386環境だと起動1秒目でハングアップ Orz

Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.1-STABLE #0: Wed Mar  4 16:01:29 JST 2009
    amorita@morita-pc2.kek.jp:/var/obj/usr/SRC/RELENG_7/sys/RUMIYA
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
panic: vm_page_startup: inconsistent page counts
Uptime: 1s

アサートに引っかかるのは、vm_page_startup()@sys/vm/vm_page.cで、 最近の変更は

revision 1.357.2.6
date: 2009/02/26 15:59:22;  author: jhb;  state: Exp;  lines: +129 -14
SVN rev 189075 on 2009-02-26 15:59:22Z by jhb

MFC: Add support for "superpages" on amd64 and i386.  This includes adding the
superpage reservation system to the machine-independent VM system as well as
changes to the pmap code for amd64 and i386 to support superpages.

Reviewed by:    alc
Tested by:      ps
revision 1.357.2.5
date: 2009/01/17 14:45:07;  author: kib;  state: Exp;  lines: +5 -1
SVN rev 187364 on 2009-01-17 14:45:07Z by kib

MFC r186719:
Extend the struct vm_page wire_count to u_int to avoid the overflow of
the counter, that may happen when too many sendfile(2) calls are being
executed with this vnode.

To keep the size of the struct vm_page and offsets of the fields
accessed by out-of-tree modules, swap the types and locations of the
wire_count and cow fields. Add safety checks to detect cow overflow and
force fallback to the normal copy code for zero-copy sockets.

だが、2009-02-18に構築したカーネルは動いているので SVN rev 189075が怪しい?

_ [FreeBSD]7-stable/amd64も不調

2009-02-18にビルドした 7-stable/amd64なカーネルがshutdown時に 必ずパニックになる Orz

Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...6 6 4 3 3 0 0 0 done
All buffers synced.
panic: insmntque() failed: error 16
cpuid = 0
Uptime: 2d2h30m33s
Physical memory: 16374 MB
Dumping 2057 MB: 2042 ....

一方、2009-03-04にビルドした 7-stable/amd64カーネルは デバイス認識に進んだ後、恐ろしい勢いでパニックメッセージを吐いて リブートしてしまう。 メッセージを確認するには、シリアルコンソールかビデオカメラが 必要な気がするぞ Orz

_ [FreeBSD][雑記]ブランチの時刻指定cvs checkout

時刻指定でRELENG_7を checkoutしようと思ったのだが、 -rオプションと -Dオプションが両立しないことに気がついた。

-jオプションで差分を当てて巻き戻すのはエレガントで無いし、 どうしたものか?


カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記