2389144_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2389144_ja-JP

2389144_ja-JP

QorIQ T1024:Linuxイーサネットドライバーがトラフィックが多い状態で止まる

こんにちは、

私はQorIQ T1024プロセッサを搭載したカスタムボードを持っており、Linuxカーネルバージョン5.4.3(ソース https://github.com/nxp-qoriq/linux)を搭載しています。現在、カーネルバージョン6.6.52(ブランチlf-6.6.y)への移行を試みています。新しいカーネルは正常に起動し、イーサネット接続(100Mb、全てのデュプレックス、自動無効)以外はすべて正常に動作します。SSHやSFTP(大容量ファイルの転送)を使用した通常の通信は正常に動作します。しかし、トラフィックが大量に発生すると、再起動するまで接続が停止してしまいます。なお、これは送信方向でのみ発生します。PCからターゲットへの方向でiperfテストを実行する場合、高トラフィック時でもRX方向は正常に動作します。5.4.3カーネルではこの問題は発生しませんでした。ターゲット->方向にiperfテストを制限ビットレート1Mb/sで実行すると、eth接続は持ちこたえますが、フルビットレートになるとそのイーサネット接続が即座に動作しなくなり、PCにpingも送信できなくなります。インターフェースは依然としてUP(ipリンクコマンド)として表示されます。インターフェースの統計(ethtool -S )を取得しようとすると、ethtoolがフリーズします。カーネルドライバーが固まって応答しないことがわかりました。インターフェースをオフにしようとすると、カーネルメッセージが出力されます。添付の内容を参照してくださいip_link_driver_busy.png

トラフィックが多い場合、処理が停止すると、レジスタ FMQM_PnS のビット PBSY_DF が設定され、クリアされません。ドキュメントによると、Qmanからの返答が届かなかったことを示しています。トラフィック量が多い場合、送信方向のリソースの割り当て/解放に何らかの問題が発生し、ロック状態が続くようです。ドライバーはハードウェアやロック、システムリソースを待つ間に詰まっているようです。復旧するには再起動するしかない。インターフェースを上下に設定しても効果がありません。

Fmanマイクロコードをfsl_fman_ucode_t1024_r1.0_108_4_9.binにアップグレードしましたが、効果はありませんでした。

  • QorIQ T1024は6.6.yでもまだサポートされていますか?カーネル?T1024と互換性のない変更点について、何かご存知ですか?
  • 6.6.yでもFSL SDK DPAAやFSL SDK FMANドライバーは維持されていますか?カーネル?バージョン5.4.3と6.6.52の間で、T1024の機能に支障をきたす可能性のある変更点はありますか?

私が使用しているカーネルソース:
旧バージョン: https://github.com/nxp-qoriq/linux/tree/134788b16485dd9fa81988681d2365ee38633fa2
新規: https://github.com/nxp-qoriq/linux/tree/e0f9e2afd4cff3f02d71891244b4aa5899dfc786

私のカーネル6.6.52の設定の一部を以下に示します。

#
# Frame Manager support
#
CONFIG_FSL_SDK_FMAN=y
# CONFIG_FSL_SDK_FMAN_TEST is not set

#
# FMAN Processor support
#
# CONFIG_FMAN_P3040_P4080_P5020 is not set
# CONFIG_FMAN_P1023 is not set
# CONFIG_FMAN_V3H is not set
CONFIG_FMAN_V3L=y
# end of FMAN Processor support

# CONFIG_FSL_SDK_FMAN_RTC_API is not set
# CONFIG_FMAN_MIB_CNT_OVF_IRQ_EN is not set
CONFIG_FSL_FM_MAX_FRAME_SIZE=1522
CONFIG_FSL_FM_RX_EXTRA_HEADROOM=64
# CONFIG_FMAN_PFC is not set
# end of Frame Manager support

CONFIG_FSL_SDK_DPAA_ETH=y
# CONFIG_FSL_DPAA_HOOKS is not set
CONFIG_FSL_DPAA_OFFLINE_PORTS=y
CONFIG_FSL_DPAA_ADVANCED_DRIVERS=y
# CONFIG_FSL_DPAA_ETH_JUMBO_FRAME is not set
# CONFIG_FSL_DPAA_TS is not set
# CONFIG_FSL_DPAA_1588 is not set
CONFIG_FSL_DPAA_ETH_MAX_BUF_COUNT=1024
CONFIG_FSL_DPAA_ETH_REFILL_THRESHOLD=512
CONFIG_FSL_DPAA_CS_THRESHOLD_1G=0x06000000
CONFIG_FSL_DPAA_CS_THRESHOLD_10G=0x10000000
CONFIG_FSL_DPAA_INGRESS_CS_THRESHOLD=0x10000000
CONFIG_FSL_DPAA_ETH_DEBUGFS=y
CONFIG_FSL_DPAA_ETH_DEBUG=y
# CONFIG_FSL_DPAA_DBG_LOOP is not set

どんなご支援でも感謝いたします。

ありがとう、
ジリ

QorIQ T1デバイスRe: QorIQ T1024: Linux Ethernet driver stucks on high traffic

こんにちは、

QorIQ Power Architecture Tシリーズソフトウェアのサポート状況に基づき、T1024は新しいソフトウェアで公式にサポートされているとは見なすべきではありません lf-6.6.yカーネルブランチ。

NXPのT1024/Tシリーズ向け公式SDKサポートは、旧QorIQ SDKラインで終了しました。ドキュメントのガイダンスによると、SDK 2.0-1703以降はT1024のSDKリリースがなく、SDK 2.0-1703はカーネル4.1.35を使用していました。NXPのガイダンスでは、新しいLinux BSPにはまだT1024関連ファイルが含まれている可能性があるが、公式にはTシリーズをサポートするリリースはされていません。別のNXPサポート声明によると、Tシリーズ製品のSDK 2.0-1703以降の公式リリースはなく、その製品ラインナップのSDKsアップグレード計画も継続していません。

つまり、T1024、DPAA、FMAN、QMan、またはBManのコードが存在することです lf-6.6.yこれは、NXPがそのカーネルブランチにおけるT1024の動作を検証したと解釈すべきではありません。パブリック nxp-qoriq/linux リポジトリは一般的なQorIQ Linuxツリーですが、分岐の内容だけでは6.6.xのT1024サポートや検証を確立できません

これはPHYや自己陰負の問題ではありません。証拠はTX DPAA/QManが検証されていないT1024カーネルベースライン上でハングしていることを示しており、実務的な方法は動作するサポート/検証済みベースラインに留まるか、カスタムメンテナンスとして6.6ポートをデバッグすることです。

 

タグ(1)
評価なし
バージョン履歴
最終更新日:
土曜日
更新者: