DPC latency と俺

PCを操作していて、最近妙に気になりだした事があるんです。それは大きなファイルをネットワーク越しにやりとりすると、マウスカーソルがかくかくするようになり、操作がままならなくなるのです。なんでこんなことになったんだー、といろいろトリガになるようなことを考えたのですが、どうもルータを100BASE-TX対応から1000BASE-T対応のWR8300Nに買い換えた2月下旬あたりからこの現象が出るようになったような気がします。

大きなファイルの移動をそんなに頻繁にやることもないので、しばらくは我慢していたのですが、Windows機とLinux機を1台にまとめメイン機がP5K-Eのマザーになってからは、インターネットからファイルをダウンロードするときにもマウスのかくつきが発生するようになり、さらにはニコ動の動画データキャッシング中までかくかくするようになってしまいました。

さすがに我慢の限界に達し、色々しらべたところ、現象が発生しているときにDPC(Deferred Procedure Call)lantecyが異常に大きな値になっていることが分かりました。DPC latency Checkerで計測したところ、最大で20万マイクロ秒越えのときもありました。いやっほー!

どうもP5K-EのDPC lantecyの平均値が悪いようで、平常時でも500-1000マイクロ秒あたりをうろうろしています。
結局、ルータ更改によるネットワークトラフィックのピーク値の上昇 + DPCレイテンシのよろしくないP5K-Eをメインで使うようになった + USBマウスの利用 + 彼女いない歴がまもなく○年になる焦燥感、という4つの条件が重なり、マウスカーソルカクカク問題が顕在化したとの結論に至りました。

USBマウスをつなげるUSBポートを変更することにより、Windows利用時にはほとんど症状が出なくなったのですが、Linux利用時ではやっぱりかくかくするため、完全に頭にきてPC自体を買い換えることにしました。バーロー。ホントはPS/2マウスにしてどうなるか試したかったのですが、PS/2マウスを持ってない上にP5K-Eにそんなポートはないのでした。

で、今度のマザーはASRockのP55 Deluxe3だだだ!!!どうですか、この下品大迫力なパッケージ。ただただひれ伏すしかないですね。ASRockといえば変態、とまで言われています(?)が、このマザーはそれほど変態仕様でもないようです。

 

p55d3_400_20100526

ASRockのHPのこっちのおやじなんかも見てるだけで楽しい気分になります。顔が青くなってますが、調子に乗ってオーバークロックしてブルースクリーンにでもなっているのでしょうか。

asrock_20100526

USB3.0対応!SATA3対応!DDR3 2600まで対応!で12980円ポッキリ!最強に強まったマザー!!!というわけでCPUは穏当にCore i7 860にしました。新PCでのDPC latencyは平常時150-200マイクロ秒、ネットワーク負荷がかかったときもほぼ変わらずで、マウスのかくつきはなくなりました。満足?

職場のCore 2 Duo(WindowsXP)マシンは70マイクロ秒でド安定なのは忘れることにしよう。

2010/05/24現在PC構成

ubuntu10.04 で USB無線LAN子機 GW-US300MiniS を設定してみた

最近部屋の模様替えを本気になってやっています。なんちゅーかケーブル類がやたら多いのが気にくわない!というわけでデスクトップPC2台(Windows機1+Linux機1)を1台のデュアルブートに集約、さらに無線LAN対応(WPA2PSK-AES)にすることにしました。

設定手順は以下の通り。

network-managerは大嫌いなので、削除します.
$ sudo apt-get remove network-manager

へんなドライバに邪魔されるようなので、阻止します.
$ sudo vi /etc/modprobe.d/blacklist.conf
blacklist rt2800usb (←追記)

Ralinkからドライバ RT2870_LinuxSTA_V2.3.0.0.tar.tar.bz2 をホームディレクトリあたりにダウンロードして展開します.
$ bunzip2 RT2870_LinuxSTA_V2.3.0.0.tar.tar.bz2
$ tar xvf RT2870_LinuxSTA_V2.3.0.0.tar.tar
$ cd RT2870_LinuxSTA_V2.3.0.0

os/linux/config.mkの以下の箇所を編集します.
$ vi os/linux/config.mk
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y

common/rtusb_dev_id.cの63行目あたりに下記の行を追記します.
$ vi common/rtusb_dev_id.c
{USB_DEVICE(0x2019,0xAB24)}, /* Planex Communications, Inc. */
(デバイスIDはlsusbコマンドで取得できます)

ドライバをコンパイルしてインストールします.
$ make
$ sudo make install

ubuntuちゃんが感じちゃうところにインストールされないようなので、場所を移動させます.
カーネルのバージョンは環境に合わせて適宜読みかえてください.
$ sudo -i
# mv /lib/modules/2.6.32-22-generic/kernel/drivers/staging/rt2870/rt2870sta.ko
/lib/modules/2.6.32-22-generic/kernel/drivers/staging/rt2870/rt2870sta.ko.bak
# cp /lib/modules/2.6.32-22-generic/kernel/drivers/net/wireless/rt2870sta.ko
/lib/modules/2.6.32-22-generic/kernel/drivers/staging/rt2870/.

OS起動時にドライバが読み込まれるようにします.
# vi /etc/modules
rt2870sta (←追記)

設定ファイルに埋め込む(難読化した)WPAパスフレーズを確認しておきます.
(psk=の行です)
# wpa_passphrase your_ssid your_passphrase

無線LANの設定ファイルを自分の環境に合わせて修正します.
# vi /etc/Wireless/RT2870STA/RT2870STA.dat
SSID=your_ssid
AuthMode=WPA2PSK
EncrypType=AES
WPAPSK=パスフレーズ

ネットワークの設定ファイルに無線LANの設定を追記します.
設定値は自分の環境に合わせてください.
# vi /etc/network/interfaces
auto ra0
iface ra0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.254

再起動します.
# reboot

ここまでの手順で一応動作するようになりますが、カーネルのアップデートがある毎に動かないドライバに置き換えられ、再度コンパイル&コピーすることになります。それが嫌な方は DKMS(Dynamic Kernel Module Support)を使用し、カーネルのアップデート時にモジュールも自動的にコンパイルされるよう、以下の手順も行います. カーネル再構築の具体的手順については省略しますので、ご了承ください.

dkmsの設定の下準備をします.
$ sudo -i
# ln -s /home/your_account/RT2870_LinuxSTA_V2.3.0.0 /usr/src/rt2870sta-2.3.0.0
# cd /usr/src/rt2870sta-2.3.0.0

dkmsの設定ファイルを作成します.
# vi dkms.conf
PACKAGE_NAME=”rt2870″
PACKAGE_VERSION=”2.3.0.0″
BUILT_MODULE_NAME=”rt2870sta”
BUILT_MODULE_LOCATION=”os/linux”
DEST_MODULE_LOCATION=”/kernel”
MAKE=”make KVER=${kernelver}”
CLEAN=”make clean”
AUTOINSTALL=”YES”

dkmsのツリーに登録します. 確認のため、buildとインストールも行っておきます.
dkms add -m rt2870sta -v 2.3.0.0
dkms build -m rt2870sta -v 2.3.0.0
dkms install -m rt2870sta -v 2.3.0.0 –force

モジュールが/lib/modules/2.6.32-22-generic/updates/dkms配下に出来ていればOKです.
カーネルを再構築します.その際driverのstagingのところにあるrt2870をexcludeします.

おつかれさまでした. 多少作業が冗長になっているところがありますが、ご容赦ください.私は5時間かかってやっと動かせましたが、来月には型落ちになるようですね、この機種.(;;)

それにしてもWindowsなら10分くらいで終わることをここまでかかってしまうLinux、やっぱり楽しいですな。

W241DG

デュアルディスプレイ環境をさらに快適に。というわけでW241DGを購入しました。地産地消で内需拡大!と国産を買いたいところだったのですが、ピボット+IPS液晶+WUXGAと3拍子揃って低価格なディスプレイ、となるとW241DGしか選択肢がありませんでした。もっともNECのディスプレイでも中身はLGの液晶らしいですが。

付属のDVIケーブルがこきたなかったのには驚きましたが、液晶ディスプレイの質はなかなかです。スタンドの作りはしっかりしていてグラグラすることもなく、また画質はグレア液晶であることも手伝ってくっきりはっきり。発色も良く、かなり満足度は高いです。特にとなりの微妙だったW2452Vと比べると。

応答速度はスペック上で12msですが、残像感は5msのW2452Vとほとんど変わらないですね。30fps程度の動画をみる分にはほとんど気にならないです。たださすがに60fpsのゲームでは、それなりに残像はあります。エミュでゼビウスなんかやると、ソルバルウの移動スピードでも残像がはっきり判ります。今後シューティングはPC上ではほとんどやらないという判断のもとにまだ壊れていなかったCRTから液晶に替えたので悔いはありません。(キリッ

W241DGに限った話ではないですが、縦長画面でのウェブブラウジングは想像以上に快適です。画像主体のページ、文字主体のページ、いずれにおいてもこれまでよりコンテンツが目から入って頭で処理されるまでの時間が早くなり、ブラウジングスピード?が全体的に高速になった感じです。

話はややかわりますが、2010年、世間ではタブレットPCなんてものがもてはやされています。iPadは結構人気のようです。しかし今後もタブレットPCが継続的に売れつづけるカテゴリかというと、私はかなり懐疑的なのです。てか自分自身ほしー使いてーと思わないのです。外に持ち出すには大きすぎて疲れそう、家で使うのにもしばらく持っていると疲れそう、電子ブックリーダとしては自発光型液晶で目が疲れそう、とどうやっても疲れそうな感じがしてしまうのです。となんで突然タブレットPCの話を持ち出しのかと言いますと、

「PCで最強なのはある程度の大きさのモニタと物理キーボードを備えたデスクトップPCである!!」
と主張したかったからです。w

w241dg_20100512