
以前ミッドナイトブルー化し、多少は力強く見えるようになった我がUltra5。
その後も老体に鞭打ち、頑張って頂いておりました。
が、
いかんせん古い機種。やはり限界は遠からずやってきました。
特に何がキビシイって、ディスク周り。
これ、内蔵ディスクがIDEなんですが、とんでもないことにATA66だったりします。
起動時はおろか、多少ディスクにアクセスが行くようになると途端にオラオラになってしまい、短いながらも無駄な待ち時間が発生することいみじ。
そんな状態でxoopsやwikiなんぞ動かそうものなら、特に前者の場合はバックエンドのDBによるディスクIO乱発も相まって、いとわろしです。
まあ乗ってるディスクもそんなに早い玉じゃないんだけど、だからといって超高速なディスクを乗っけたところでATA66じゃあ宝の持ち腐れどころの騒ぎではありません。
なんとかなんねーかなと軽くググってみたところ、どうやらUltra5/Ultra10の系列はOBPレベルでCMD649チップ、またはSiliconImage社のSil0649チップを搭載したATAカードを、増設ATAデバイスあるいはATA-RAIDデバイスとして認識してくれるらしい。
ほう。
で、そのCMD649チップが乗っかっているATAカードを探してみると、お馴染み玄人志向から出ていたATA100PCIなるATA100カードがまさにそれ。
というより、こいつを使った先例が随所に盛りだくさんで実績豊富。
チップ抵抗1本カットすりゃ使えるのね。おお、こりゃいいわ。
喜び勇んで早速入手してみようとしました....が、流石に新品では流通しておらず、中古市場から引っ張ってくるしかないのですが、これがまた、なかなかATA100PCIの出物が無い!
その代わり、ATA100RAIDPCIはゴロゴロ出てきます。もう本当にゴロゴロ。
いい加減探すのも疲れてきたので、ATA100RAIDもATA100PCIも乗ってるチップは同じだし、どうせジャンパ1本で切り替えられるでしょ!と踏んで、じゃんぱら川崎店でATA100RAIDPCIを1枚買ってきてみました。

カードはこんなカード。
基板左側にあるICソケットに、RAIDコントローラのBIOS-ROMチップが乗っかっています(写真ではBIOS-ROMを抜いた状態)。
また基板上には、抜けばATAカード、刺せばRAIDカード、というようにカードの動作を切り替えることが出来るジャンパピンもあります(写真ではジャンパを抜いた状態)
ひひひ。なんかチップ抵抗カットして、ジャンパ抜けばサックリ使えそうな予感。
まずは、何はともあれチップ抵抗をカットします。
情報によると、"R63"をカットすれば良いらしい。

該当箇所のアップ。この縦に並んでいるチップ抵抗の列の一番下。R63をカット。

改造後。
ひひひひ。もうこれでヤツはサウナに行けない身体になっちまったぜ....
さてこの状態で、ジャンパだけ抜いて突っ込んで、show-devs してみました。

む、raidとして認識されているっぽい....
ジャンパ抜いただけじゃダメなのかな?
まあHDDだけぶら下げて使う分にはraidとして認識されていてもOSからは認識可能(ただしブートディスクには使えない)なのでいいんですが、やっぱりDVDドライブ等を接続して使うことも考えられるので、ここはIDEバスとして認識させたいところ。
では、ジャンパも抜き、BIOS-ROMも抜いた状態で、再度挑戦。

お、OKOK!
ちゃんとIDEバスとして認識されてますね。
ではいよいよHDDをぶらさげてみることにしましょう。
今回接続するのは、MaxtorのDiamondMax 16ってシリーズのHDDです。容量は80GBで最大転送速度はATA133。
OSを起動させ、いざformatコマンド!

OK!こうでなくちゃ!
もちろんディスクのパーティショニングも無事行え、newfsしてmountして読み書きも問題なしです。
いやしかしATA66からATA100になるとディスクアクセスが速い速い。
プラシーボか?それとも繋げてるディスクが速いからか?
いやいやこれは気のせいじゃないぞ?多分。
その後色々試してみたのですが、黄色いジャンパは刺しても抜いてもどっちでも良いみたいです。
ATA100RAIDをATA100カードとして使いたい場合は、BIOS-ROMを抜き、R63をカットすれば良いようですね。
客観的に効果を見るため、iozoneでRead/Writeのベンチを取ってみました。
iozoneの起動オプションは iozone -i 1 -i 0 -aRb uata100-ultra5.xls って感じです。


Readが最大で200MB/Secに迫る勢いですが、これは恐らくキャッシュの影響でしょう。
平均するとだいたい130MB/Sec程度のスピードが出ています。
ATA100カードなので100MB/Sec程度で頭打ちかと思っていましたが、これは嬉しい誤算。
Writeに関しては、平均して40〜50MB/Secと言ったところでしょうか。
まあ、まずまずだと思います。
と、ここまでは既存の手順のトレース。
こっからはオリジナルです。
ふと、手元にSiliconImage社のSil680Aチップが乗っかったATA133カードがあるのを思い出しました。

その名も玄人志向・ATA133RAIDPCI。
なんだか、俺ん家での玄人志向デバイス登場率が異様に高い気がします。
どんだけ玄人なんだっつう話ですが、それはまあいいとして、Sil680Aチップ搭載です。
さて、Solaris + Sil680Aと聞いて、うむっと思った人は、鋭い。
実はこのチップ、最近まではSolarisではサポートされていませんでした。
が、Solaris9 Recommended Patchの中に含まれている、"uata driver patch" なるもののREADMEをよーく読んでみると...
なる記述が!!!!
つまり、Sil680Aチップを乗っけたATA133カードがSolaris上から認識されるようになったという事です。
上記はSolaris9のPatch READMEですが、それぞれ以下のPatchIDでSil680Aチップがサポートされるようになっているようです。
Solaris10 | ? |
Solaris9 | 112954-12以降 |
Solaris8 | 108974-47以降 |
さてカードです。
なにはともあれ、まずは何も弄らず、とりあえず突っ込み、show-devsしてみました。

おお、認識されてるじゃないの。
チップが違うのでOBPで跳ねられちゃうかと思ってましたが、raidデバイスとしてではあるものの、しっかり認識されちゃってます。
そのままHDDを接続し、OSを起動。formatコマンドを叩いてみると..

お、こっちもOKOK。
当然、パーティショニングやnewfs→mountも成功。無事読み書きできてます。
なんだかあっけなくてちょっと拍子抜けですが、続いてIDEバスデバイスとして認識させる方法について探ってみます。
何故か私の手元にはこんなものがありました。

Sil0680Aのデータシートです。
なんでもこいつはNDA契約を結ばないと入手不可らしいのですが、たまたま手元にあったので深く考えずに活用させて頂きます。
こいつには当然Sil0680Aの各ピンについての説明がありまして、その中に

なるピンがあることを発見。
更にそのピンについては、

とあるように、このピンの挙動によってチップ自体のPCIクラスコードをRAIDクラスにするかIDEクラスにするか変更できる模様。おお、これこれ。
またこのピンについては、チップ内部でプルアップされているので、GNDに落としてRAIDモード、オープンでIDEモードで動くとのこと。
なーんだ、GNDに落とせば終了か。楽勝じゃん。
ではこのピンが何処かに出てないかなと思って基板上を探してみましたらば、なんと例のIDEモード・RAIDモード切替ジャンパがまさにそれでした。
ジャンパピンの片方はGNDに落ち、もう片方は例のピンに接続されています。基板上のシルク印刷によれば、抜いてIDE・挿してRAIDなのでデータシートの挙動と一致します。
これ抜きゃ一撃だねとばかりに、早速ピンをひっこ抜いて再度show-devsしてみました。
が.....

先のATA100RAIDPCIと同様に、ジャンパピンを弄っただけではダメのようです。
うーむ、なかなかうまくいかないモンですね。
さてどうしたもんかと思案してみつつ、何か情報無いかなと思ってこのチップの製造元サイトへ行ってみると、Sil0680Aのファームウェアが公開されていました。
しかも、RAID版と非RAID版の両方。
添付文書を読む限りだと、別にRAIDモードで動いているカードに対して非RAIDモードのファームウェアは突っ込めないとも書いてないし、逆もまた然り。
ここで普通であれば、非RAID版のカードを持っている人がRAID版のファームウェアを突っ込んで、
うはwwwwwおkwwwww
ってなるところでしょうが、残念ながら、今回は逆です。
早速AT互換機にカードを突っ込んだ後DOSフロッピーで起動し、b3220.bin なる非RAIDモードのファームウェアを書き込んでみました。バージョンは3.2.20。
さていよいよUltra5へ挿し直してshow-devsです。
すると....

うおっ、なんだこれ(笑)
ベンダIDにデバイスIDという、何とも生々しい認識のされ方...
とりあえずOSをboot -rで起動させ、formatコマンドを実行!

うはwwwwwおkwwwww
もちろんパーティション操作やnewfs、mountも当たり前のように行えます。
OBP上では謎のデバイスとしてしか認識されていないSil0680A搭載カードが、OS上からはしっかりとATAカードとして認識されているのは、ひとえにuataドライバにSil0680Aサポートが入ったからに他なりません。
なお、現在稼働中のSolarisがSil0680Aカードに対応しているかどうかは、/etc/driver_aliasesを見れば分かります。
# grep uata /etc/driver_aliases
uata "pci1095,646"
uata "pci1095,649"
uata "pci10b9,5229"
uata "pci1095,680"
上記の例だと、Sil(CMD)チップでは646,649,680がuataドライバで利用可能なようです。
謎の "pci10b9,5229" ってのは、軽くググってみたところSunFireV240や250やBlade100等のオンボードIDEチップな模様。
ベンダIDが10b9=Acer で、デバイスIDが5229="ALi M5229 PCI Bus Master IDE Controller" らしい。
Aliと言われると、ははーん安いマザーボードに載ってるアレねって感じだけど、これが乗ってるATAカードって見たこと無いなぁ。もし見つかれば、そいつも利用可能じゃないかと思われるが期待はできないような気がするなあ。
なおこのdriver_aliasesってファイル、見てすぐ分かるとおり、特定のベンダID+デバイスIDを持つデバイスと、Solaris上のドライバを紐付ける対応リストになっています。
なので仮に全く違うメーカー・デバイスIDなんだけどSil0680A互換なチップが出てきて、そいつが乗っかったATAカードなんかが世に放たれた場合は、このdriver_aliasesファイルに1行書き加えて boot -r すれば使えるようになる(かも)という算段です。
ATAカードに限らず、互換チップが出た時、いつか役に立つときが来るかも知れません。覚えておいて損はないでしょう、とSCSA保持者の俺様が偉そうに言ってみます。
さてさて、カードとその下にぶら下がっているディスクがうまく認識されたところで、気になるのはブートデバイスとして使えるか?といったところです。
はい、早速実験してみました。
ok boot /pci@1f,0/pci@1/pci1095,680@1/disk@0,0
Boot device: /pci@1f,0/pci@1/pci1095,680@1/disk@0,0 File and args: -s
Can't open boot device
ok
撃沈です( ´Д⊂ヽ
やっぱりOBP上でIDEバスであると認識されていないカードからのbootは、そのままでは無理な模様。
ここで諦めては男が廃る。
NetBSD/sparc64のFAQサイトにて、
Can I use "standard" PCI cards?
Some standard PCI cards "just work" in NetBSD/sparc64, such as network cards, IDE cards, etc. However, for these cards to be recognised by the PROM, you need to update the SUNW,builtin-drivers FCode package to force the device into native PCI mode.
なる項目と共に、nvramへのパッチコードが紹介されていました。
こいつは、OBP上で持っているデフォルトのIDEドライバを強制的にアタッチし、OBP上から認識させてしまうことができるかもね、という代物。
もともとはPromiseのATA/RAIDカードからNetBSD/sparc64をブートさせるためのコードですが、うまくいけば今回のカードにも使えるやも知れず。
早速挑戦です。
ok show-devs
/SUNW,UltraSPARC-IIi@0,0
/pci@1f,0
/virtual-memory
/memory@0,0
/aliases
/options
/openprom
/chosen
/packages
/pci@1f,0/pci@1
/pci@1f,0/pci@1,1
/pci@1f,0/pci@1/pci1095,680@1
/pci@1f,0/pci@1,1/ide@3
/pci@1f,0/pci@1,1/SUNW,m64B@2
/pci@1f,0/pci@1,1/network@1,1
/pci@1f,0/pci@1,1/ebus@1
/pci@1f,0/pci@1,1/ide@3/cdrom
/pci@1f,0/pci@1,1/ide@3/disk
/pci@1f,0/pci@1,1/ebus@1/SUNW,CS4231@14,200000
/pci@1f,0/pci@1,1/ebus@1/flashprom@10,0
/pci@1f,0/pci@1,1/ebus@1/eeprom@14,0
/pci@1f,0/pci@1,1/ebus@1/fdthree@14,3023f0
:
(略)
:
ok nvedit
0: dev /packages/SUNW,builtin-drivers
1: : class018000
2: f 9 my-space + " config-b!" $call-parent class010100
3: ;
4: device-end
5:(Ctrl-Cでnveditを抜ける)
ok nvstore
ok setenv use-nvramrc? true
use-nvramrc? = true
ok reset
Resetting ...
:
(中略)
:
ok show-devs
/SUNW,UltraSPARC-IIi@0,0
/pci@1f,0
/virtual-memory
/memory@0,0
/aliases
/options
/openprom
/chosen
/packages
/pci@1f,0/pci@1
/pci@1f,0/pci@1,1
/pci@1f,0/pci@1/ide@1
/pci@1f,0/pci@1/ide@1/cdrom
/pci@1f,0/pci@1/ide@1/disk
/pci@1f,0/pci@1,1/ide@3
/pci@1f,0/pci@1,1/SUNW,m64B@2
/pci@1f,0/pci@1,1/network@1,1
/pci@1f,0/pci@1,1/ebus@1
/pci@1f,0/pci@1,1/ide@3/cdrom
/pci@1f,0/pci@1,1/ide@3/disk
/pci@1f,0/pci@1,1/ebus@1/SUNW,CS4231@14,200000
/pci@1f,0/pci@1,1/ebus@1/flashprom@10,0
/pci@1f,0/pci@1,1/ebus@1/eeprom@14,0
/pci@1f,0/pci@1,1/ebus@1/fdthree@14,3023f0
/pci@1f,0/pci@1,1/ebus@1/ecpp@14,3043bc
/pci@1f,0/pci@1,1/ebus@1/su@14,3062f8
/pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
/pci@1f,0/pci@1,1/ebus@1/se@14,400000
/pci@1f,0/pci@1,1/ebus@1/SUNW,pll@14,504000
/pci@1f,0/pci@1,1/ebus@1/power@14,724000
/pci@1f,0/pci@1,1/ebus@1/auxio@14,726000
/openprom/client-services
/packages/sun-keyboard
/packages/SUNW,builtin-drivers
/packages/disk-label
/packages/obp-tftp
/packages/deblocker
/packages/terminal-emulator
うはwwwwwおkwwwwwwwww
早速bootじゃ!(念のためにシングルユーザモードで)
ok boot /pci@1f,0/pci@1/ide@1/disk@0,0 -rs
Boot device: /pci@1f,0/pci@1/ide@1/disk@0,0 File and args: -rs
SunOS Release 5.9 Version Generic_118558-20 64-bit
Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Cannot assemble drivers for root /pci@1f,0/pci@1/ide@1/disk@0,0:a
Cannot mount root on /pci@1f,0/pci@1/ide@1/disk@0,0:a fstype ufs
panic[cpu0]/thread=140a000: vfs_mountroot: cannot mount root
0000000001409970 genunix:vfs_mountroot+70 (0, 0, 0, 200, 1457ef0, 0)
%l0-3: 000000000144b800 000000000144b800 0000000000002000 0000000001492610
%l4-7: 0000000001498400 0000000001411e58 000000000144c000 000000000144f000
0000000001409a20 genunix:main+90 (1409ba0, f00673e8, 1409ec0, 381c9f, 2000, 500)
%l0-3: 0000000000000001 000000000140a000 0000000001413018 0000000000000000
%l4-7: 0000000078002000 000000000038a000 00000000014a0108 0000000001067b20
skipping system dump - no dump device configured
rebooting...
Resetting ...
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::。:::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::。::::::...... ... --─- :::::::::::::::::::: ..::::: . ..::::::::
:::::::::::::::::...... ....:::::::゜::::::::::.. (___ )(___ ) ::::。::::::::::::::::: ゜.::::::::::::
:. .:::::。:::........ . .::::::::::::::::: _ i/ = =ヽi :::::::::::::。::::::::::: . . . ..::::
:::: :::::::::.....:☆彡:::: //[|| 」 ||] ::::::::::゜:::::::::: ...:: :::::
:::::::::::::::::: . . . ..: :::: / ヘ | | ____,ヽ | | :::::::::::.... .... .. .::::::::::::::
::::::...゜ . .::::::::: /ヽ ノ ヽ__/ ....... . .::::::::::::........ ..::::
:.... .... .. . く / 三三三∠⌒>:.... .... .. .:.... .... ..
:.... .... ..:.... .... ..... .... .. .:.... .... .. ..... .... .. ..... ............. .. . ........ ......
:.... . ∧∧ ∧∧ ∧∧ ∧∧ .... .... .. .:.... .... ..... .... .. .
... ..:( )ゝ ( )ゝ( )ゝ( )ゝ無茶しやがって… ..........
.... i⌒ / i⌒ / i⌒ / i⌒ / .. ..... ................... .. . ...
.. 三 | 三 | 三 | 三 | ... ............. ........... . .....
... ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ ............. ............. .. ........ ...
三三 三三 三三 三三
三三 三三 三三 三三
|
あっれぇ〜.......
ちょっと、オンボードIDEからboot -rして、ATAカード上のdiskが認識できるか確認してみます。
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@1f,0/pci@1,1/ide@3/dad@0,0
Specify disk (enter its number):
えっ、こんだけ?
何か忘れてない?ディスク1本さぁ。
むむぅ。prtdiagとptrconfを見てみます。
# prtdiag -v
システム構成: Sun Microsystems sun4u Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 300MHz)
システムクロック周波数: 100 MHz
メモリーサイズ: 512 M バイト
========================= CPUs =========================
Run Ecache CPU CPU
Brd CPU Module MHz MB Impl. Mask
--- --- ------- ----- ------ ------ ----
0 0 0 300 0.5 12 1.3
========================= IO Cards =========================
Bus# Freq
Brd Type MHz Slot Name Model
--- ---- ---- ---- -------------------------------- ----------------------
0 PCI-1 33 1 ebus
0 PCI-1 33 1 network-SUNW,hme
0 PCI-1 33 2 SUNW,m64B ATY,GT-B
0 PCI-1 33 3 ide-pci1095,646.1095.646.3
0 PCI-2 33 1 ide-pci1095,680.1095.680.2
システムに障害は見つかりませんでした
===========================
========================= HW Revisions =========================
ASIC Revisions:
---------------
Cheerio: ebus Rev 1
システム PROM のバージョン:
----------------------
OBP 3.31.0 2001/07/25 20:36 POST 3.1.0 2000/06/27 13:56
# prtconf -v
System Configuration: Sun Microsystems sun4u
Memory size: 512 Megabytes
System Peripherals (Software Nodes):
:
:
(中略)
:
:
pci, instance #1
Driver properties:
name='device_type' type=string items=1 dev=none
value='pci'
Hardware properties:
name='latency-timer' type=int items=1
value=00000040
name='cache-line-size' type=int items=1
value=00000010
ide (driver not attached)
Hardware properties:
name='cache-line-size' type=int items=1
value=00000010
disk (driver not attached)
cdrom (driver not attached)
うぬぬぬぬぬ。
nvramパッチで、お前は普通のIDEバスじゃ!と騙した結果、OSブート後にドライバをアタッチする際にもそれを忠実に守ってしまいオンボードIDEと同じドライバをあてがおうとする、でも本当は俺はSil0680Aなんでそんなドライバじゃ俺を制御できなあせdrftgyふじこ
みたいな状態っぽい。
ちなみにnvramパッチを当てない状態、つまりOBP上からは生のベンダIDやデバイスIDで見えている場合のprtconfは
pci, instance #1
Driver properties:
name='device_type' type=string items=1 dev=none
value='pci'
Hardware properties:
name='latency-timer' type=int items=1
value=00000040
name='cache-line-size' type=int items=1
value=00000010
pci1095,680, instance #4
System software properties:
name='atapi-device-reset-waittime' type=int items=1
value=002dc6c0
Driver properties:
name='target0-dcd-options' type=int items=1 dev=none
value=000000a4
name='dcd_options' type=int items=1 dev=(135,0)
value=000000a5
name='pm-components' type=string items=3 dev=none
value='NAME=ide-controller' + '0=Device D3 State' + '3=Device D0 State'
Hardware properties:
name='cache-line-size' type=int items=1
value=00000010
dad, instance #5
System properties:
name='lun' type=int items=1
value=00000000
name='target' type=int items=1
value=00000000
name='class_prop' type=string items=1
value='ata'
name='type' type=string items=1
value='ata'
name='class' type=string items=1
value='dada'
Driver properties:
name='pm-components' type=string items=4 dev=none
value='NAME=ide-disk' + '0=standby' + '1=idle' + '2=active'
name='pm-hardware-state' type=string items=1 dev=none
value='needs-suspend-resume'
name='ddi-kernel-ioctl' type=boolean dev=none
Hardware properties:
name='devid' type=string items=1
value='id1,dad@AST38410A=6CS0DTY5'
こんな感じ。
がっちりとSil0680Aとして認識され、ドライバもガッツリ当たっています。
むむー。
nvramパッチをうまく書き換えれば良いのかも知れませんが、今の私にはそんな技量はありませぬ。
ここは潔く身を引きましょう。ああああ残念!
さてbootデバイスとしては使えなげな事が判明したところで、こっちも同様にiozonでベンチ取ってみました。


Writeの性能が平均して約10MB/Sec程度上がってますが、Readに関してはATA100とほぼ同様ですね。うーん、あんまり違いがないなあ。
実はHDDの性能限界だったりとか、あるいはUltra5のCPUがボトルネックになっているのかも知れません(確かにiozoneブン回している間はCPUが振り切り状態だった)。
なんだか、UATA133の性能が出ているのかどうか、これだけだと判別しづらい、微妙な結果になってしまいました(x_x)。
ともあれ、遅い内蔵IDEバスに嫌気がさしている方、もしくは、Ultra30/60等のように、そもそもIDEバスが無い機種をお使いの方(後者はカードをOBPで認識するかどうかの段階から不明ですが..)、あるいは、安いATAディスクをたくさんぶら下げて使いたい方は、このように安いATAカードを買ってくれば手軽にパワーアップできますよ。
追記:2006/10/19
せっかくなので、同じディスクをオンボードATAに接続してiozoneでベンチってみました。
どんだけ遅いか見てやる!


( ゚д゚)
_(__つ/ ̄ ̄ ̄/_
\/ ./
 ̄ ̄ ̄
( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
\/ ./
 ̄ ̄ ̄
( ゚д゚)
_(__つ/ ̄ ̄ ̄/_
\/ ./
 ̄ ̄ ̄
( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
\/ ./
 ̄ ̄ ̄
|
変化ないじゃん
なんで?OSのディスクキャッシュがバリバリに効いてるから?
まずい。測定方法を改めねば...
追記2:2006/10/19
余計なギミックを使わず、シンプルな方法で測定してみた。
また、測定マシンのスペックは以下の通り。
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 300MHz)
OpenBoot 3.31, 512 MB (60 ns) memory installed.
- オンボード接続(ATA66)
# timex mkfile 500m 500m
real 31.17
user 0.55
sys 14.64
∴ 500÷31.17=16.04(MB/Sec)
- ATA100カード接続
# timex mkfile 500m 500m
real 16.36
user 0.37
sys 15.27
∴ 500÷16.36=30.56(MB/sec)
- ATA133カード接続
# timex mkfile 500m 500m
real 15.83
user 0.33
sys 14.29
∴ 500÷15.83=31.58(MB/sec)
Write限定ですけど、まあオンボードよりは速いよねってことが分かったし、いいかなぁ...
(何なんだこのモヤモヤ感は....)
|