sudohayato
2017年9月13日 13時41分
お世話になっております。須藤です。
wlanの設定方法について教えてください。
Hzを2000に変更したカーネルで無線LANを使おうとすると
デバイスにwlan0が見えなくなってしまい、無線LANが使えなくなってしまいます。
Hzを2000にした状態でwlan0を認識させる方法を教えていただけますでしょうか?
無線LANはPCIバスで接続されており、PCIのProbeで失敗しているように思います。
なお、Hzを1000にするとwlan0が認識されることを確認しておりますので
Hzの設定変更が影響しているのでは?と考えております。
以上、よろしくお願いします。
コメント
sudohayato
at_mizo
溝渕です。
> > そうであれば、2000は標準では用意されていないと思います。ソースコードの変更は行っていますか?
> ⇒KCONFIGのファイルを変更してカーネルコンフィグで2000の設定ができるようにしております。
> 他のソースには手を加えておりません。
"arch/arm/Kconfig"と"kernel/Kconfig.hz"を編集したのですね。
全てのコードを確認していないのではっきりした事は言えませんが、
val = 1000 / HZ
if (!val)
goto err;
みたいに、HZが1000以下であることを期待しているコードがあるとちゃんと動
かなくなりそうですね。
ちなみにHZを増やしたい理由は何でしょうか?
デオフォルトのカーネルコンフィギュレーションでは、高精度タイマー
(high-resolution timer)が有効化されているので、HZを増やしてもタイマー
精度の向上等には結び付かないと思います。
sudohayato
溝渕様
お世話になっております。須藤です。
> "arch/arm/Kconfig"と"kernel/Kconfig.hz"を編集したのですね。
⇒はい。ご認識の通りです。
> ちなみにHZを増やしたい理由は何でしょうか?
>
> デオフォルトのカーネルコンフィギュレーションでは、高精度タイマー
> (high-resolution timer)が有効化されているので、HZを増やしてもタイマー
> 精度の向上等には結び付かないと思います。
⇒epollでファイルディスクリプタの監視を実装していた際に
性能改善を期待してHzを2000に増やしていました。
#性能は改善されていたように見えました
その後、同様の処理をカーネルドライバで実装した際に
Hzをそのままにしていたため、Hzを1000まで下げると
性能に影響が出てしまったため、Hzを2000のままに
しておきたいと考えております。
#Hz以外変更していないのですが性能に影響が
出ているように見えるためHzの変更要因ととらえております
しかし、Hzが2000の状態だと無線LANのデバイスが
見えてこないため今回の質問となっております。
以上、よろしくお願いします。
at_mizo
溝渕です。
> > ちなみにHZを増やしたい理由は何でしょうか?
> >
> > デオフォルトのカーネルコンフィギュレーションでは、高精度タイマー
> > (high-resolution timer)が有効化されているので、HZを増やしてもタイマー
> > 精度の向上等には結び付かないと思います。
> ⇒epollでファイルディスクリプタの監視を実装していた際に
> 性能改善を期待してHzを2000に増やしていました。
> #性能は改善されていたように見えました
ticklessシステムなので、応答性能はHZに依存しないと認識していました。
ちなみに、HZを100にした場合は平均応答時間は5ms程度になりますか?
> その後、同様の処理をカーネルドライバで実装した際に
> Hzをそのままにしていたため、Hzを1000まで下げると
> 性能に影響が出てしまったため、Hzを2000のままに
> しておきたいと考えております。
> #Hz以外変更していないのですが性能に影響が
> 出ているように見えるためHzの変更要因ととらえております
> しかし、Hzが2000の状態だと無線LANのデバイスが
> 見えてこないため今回の質問となっております。
例えば、以下のようにHZに特定の値を期待したコードもいくつか存在します。
drivers/net/wireless/ath/ath9k/main.c:
int timeout = HZ / 5; /* 200 ms */
HZを2000にしたことにより、恐らくPCIeまたはAtherosのdriverで意図しない
挙動を行っているものと思います。
at_mizo
at_mizo
2017年9月13日 13時46分
溝渕です。
> Hzを2000にした状態でwlan0を認識させる方法を教えていただけますでしょうか?
"Hz"はLinuxカーネルコンフィギュレーションの"CONFIG_HZ"のことでしょうか?
そうであれば、2000は標準では用意されていないと思います。ソースコードの変更は行っていますか?