NAKAMURA Minoru の日記 (2007年9月)

先月の日記(2007年08月) 今月の日記(2007年09月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2024 | 1 | 2 | 3 | 4
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | slideshare | github | Qiita



9/24 (月)

宮島へ

せっかく広島に来たのだからということで、新郎の友人4人で宮島に行ってきました。

路面電車
宮島口まで直行の路面電車に乗る
宮島
宮島まではフェリーで行きます
宮島
海から見た鳥居
宮島
対岸が見えてきたよ
鹿
さっそく鹿のお出迎え
鹿
仲良く毛づくろい
鹿
水路にも鹿が
鹿
観光客の与える餌に群れる鹿
鹿のフン
鹿のフン
鳥居
潮が引いていて鳥居まで行けます
鳥居
結構いびつな形の柱です
厳島神社
厳島神社です
厳島神社
満潮時にはここまで浸水します
厳島神社

お昼は焼きがきのはやしという店で食べます。

はやし:看板
この店でお昼を食べます
はやし:店先
店先で牡蠣を焼いています
はやし:かきフライ
かきフライ
はやし:あなごめし
あなごめし
はやし:焼きがき
焼きがき
はやし:焼きがき
焼きがき

その他、宮島の見どころを。

もみじ饅頭の製造現場
もみじ饅頭の製造現場
大しゃもじ
世界一の大しゃもじ
大しゃもじ
厚みの方向から

今日発見したエラーメッセージダイアログ

リーガロイヤルホテル1階のプラズマディスプレイの情報掲示板。
天気予報を表示しているディスプレイは、Windows の Web ブラウザで画面を表示しているだけなのね。

新幹線のぽっちりの謎が解決

(2004年8月21日2004年8月29日)から気になっていた新幹線の座席にあるゴム製のポッチリの謎が解決。 新幹線の座席を回す時に手で持つノブだそうだ。 座席の横につけるとはみ出して通路を通る邪魔になるためらしい。

新幹線の運転免許を持っている大場氏が言うのだから間違いない。


9/23 (日)

広島散策

広島の二日目。
挙式&披露宴は午後からなので、午前中は近場を散策してみる。

ホテルの部屋から見た光景
ホテルの部屋から見た光景
リーガロイヤルホテル
滞在中のホテルです。
周辺で一番背が高い建物です。
原爆ドーム
原爆ドームです
原爆ドーム
別アングルから
広島城
広島城
広島城
天守閣です
広島城
展望階から見た光景です

9/22 (土)

広島へ

友人の結婚式に参加するために今から広島へ行きまする。
一足しかない革靴は穴が空いているので、途中で靴を買わないと駄目だ…

[Food] お好み村@広島

大場氏と新横浜で待ち合わせてして新幹線で広島へ。 19時頃に式場のリーガロイヤルホテルに到着。 今日から二泊三日する。

とりあえず初日はお好み焼きを食べようということで、お好み村に行ってみる。 お好み村は雑居ビルの3階分に複数の広島風お好み焼き屋が寄り集まった屋台村だ。 隣には同コンセプトの「お好み共和国ひろしま村」というのもあった。

2階にある たけのこという店で食べる。 写真は私が食べたイカ天とチーズ入り。 かなり大玉だけど、焼き加減もきっちりしてウマ〜。

お好み村:看板
看板
お好み村:暖簾
暖簾
お好み村:お好み焼き
お好み焼き

エレベータにはこんな張り紙が…


9/10 (月)

[Linux][Prog] System V IPC semaphore と POSIX semaphore の違い

最近の UNIX にはセマフォをプログラムするのに、System V あるいは XSI (X/Open System Interfaces Extension) の IPC セマフォと、POSIX のセマフォの 2 つの形式がある。

System V IPC セマフォの場合は semctl()semget()semop()semtimedop() の関数を使うことになる。 POSIX セマフォの場合は、sem_init()sem_awit()sem_trywait()sem_post()sem_getvalu()sem_destroy() を使うことになる。

2種類のセマフォには当然インターフェイスの違いが存在するのだが、OS によってはその挙動が異なるようだ。 Linux カーネル 2.6 系ではこの2種類のセマフォが別々のシステムコールとして処理されている。 System V IPC セマフォは ipc(2) で処理されるが、POSIX セマフォは futex(2) を使う実装になっている点だ。 内部実装の違いによって、二種類のセマフォにロック獲得の fairness に差がでることがあるようだ。 ロックの fairness は 2004年4月13日 の日記にちょっと書いた。

下のように2つのスレッドがセマフォを獲り合ってロックし合うテストプログラムをコンパイルして試験する。

シングル CPU 環境ではそのまま、マルチ CPU 環境では CPU アフィニティをとってどれか 1-CPU だけにバインドして実行する。 CPU アフィニティをとるには taskset コマンドを使うのが簡単。

$ taskset 1 ipc_semaphore_test

結果、System V IPCセマフォは調査した全ての環境で "Thread-ID: 0" と "Thread-ID: 1" が繰り返され、2つのスレッドの間でセマフォが交互に渡っていることが確認できた。 これは fair なロックマナーだといえる。

一方、POSIX セマフォは環境によっては "Thread-ID: 0" だけまたは "Thread-ID: 1" がバースト的に繰り返され、ある程度表示されると二つのスレッドが入れ替わるという挙動をする。 これは unfair なロックマナーだといえる。 しかし、同じプログラムを近縁の別の Linux 環境に持っていくと fair な動作をすることもある。

身の回りの環境を調べた表は以下の通り。

ディストリカーネルglibcCPUSMP?結果
RHEL4 U42.6.9 (SMP)2.3.4Intel Xeon MP 2.8GHzMulti, HTunfair
RHEL4 U42.6.9 (SMP)2.3.4Intel Xeon64 3.4GHzMultiunfair
RHEL4 U42.6.9 (SMP)2.3.4Intel Itanium2-9000 1.4GHzMulti, HTunfair
RHEL4 U42.6.22 (SMP)2.3.4Intel Itanium2-9000 1.4GHzMulti, HTunfair
VineLinux 4.12.6.16 (SMP)2.3.4AMD Duron 800MHzSinglefair

シングルCPUマシンとマルチCPUマシンの違いかしら?


9/6 (木)

台風9号到来

安アパート全体が揺れるよ〜〜


9/3 (月)

玄人志向 GbE-PCI2

Linux カーネルが 2.6 になってから NIC カードが一枚動かなくなったので(8/31)、会社帰りにビックカメラに寄って玄人志向 の GbE-PCI2 を買って帰る。 お値段は 1,050円なり。 チップは VIA VT6122。

最初はこのカード1枚を挿して IP aliasing で 2 つの IP アドレスをつけていたのだが、連続運転をしていると以下のようなカーネルメッセージが出てネットワークが不通になってしまう。

eth0: excessive work at interrupt.

Google で検索すると、同種の症状が出ている人が多い。 VIAのページからは Linux のドライバーがダウンロードできるようだが、この velocityget.tgz (version 1.23) はなぜかコンパイル中にエラーが出る。 何か呪われているのか?

make -C /usr/src/kernels/2.6.16-0vl68-i686 SUBDIRS=/home/nminoru/tmp/1.23 modules
make[1]: Entering directory `/usr/src/kernels/2.6.16-0vl68-i686'
  CC [M]  /home/nminoru/tmp/1.23/velocity_main.o
/home/nminoru/tmp/1.23/velocity_main.c: In function `velocity_notify_reboot':
/home/nminoru/tmp/1.23/velocity_main.c:1960: error: incompatible type for argument 2 of `velocity_suspend'
/home/nminoru/tmp/1.23/velocity_main.c: In function `velocity_suspend':
/home/nminoru/tmp/1.23/velocity_main.c:2004: error: incompatible type for argument 2 of `pci_set_power_state'
make[2]: *** [/home/nminoru/tmp/1.23/velocity_main.o] Error 1
make[1]: *** [_module_/home/nminoru/tmp/1.23] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.16-0vl68-i686'
make: *** [default] Error 2

9/1 (土)

[MyPC] さらに復旧作業は続く

昨日の復旧作業で基本的な部分は回復したが、新環境(Vine Linux 4.1) では mh-6.8.4-JP-3.05 と bjorb のコンパイルができない。 これを片付ける。

mh-6.8.4-JP-3.05 は、古い形の可変引数処理(varargs.h)が使われている箇所と、errno を int 型の外部変数として直接参照している箇所を直してゆく。 2時間ぐらいの作業でなんとかコンパイルが通るところまで到達。

bjorb の方はこの際別のツールに乗り換えようと、zebedee を試してみるが SOCKS5 の上に載せることができないので断念。 気合をいれて bjorb も Makefile の $(CC) を g++ に変えるとあっさりコンパイルできた。

もう少し余裕ができたら、修正点をまとめてパッチにします。


先月の日記(2007年08月) 今月の日記(2007年09月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2024 | 1 | 2 | 3 | 4
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | slideshare | github | Qiita


Written by NAKAMURA Minoru, Email: nminoru atmark nminoru dot jp, Twitter:@nminoru_jp