1

私の要件は、カーネルにデータを保存することです.データはネットワークからの着信パケットです..サイズが異なる場合があり、たとえば250ミリ秒の期間を保存する必要があります..カーネルレベルのメモリ管理が必要な候補が5つあるはずです. ..パケットは非常に高速に送信されるため..私のアプローチは、そのような候補ごとに 2 MB のメモリなどの大きなメモリを割り当てることです..bez kmalloc と kfree にはタイミング オーバーヘッドがあります..それに関するヘルプはありますか?

4

2 に答える 2

1

sk_buffsはネットワーク関連の一般的な回答です。または、Mikeがカーネル メモリ キャッシュを指摘しているように、質問に対するより一般的な回答です。ただし、質問の前に解決策を提示した可能性があると思います。

LTE/HSDPA/GSM のボトルネックは、ドライバーと、デバイスから CPU にデータを取得する方法です。これは、ハードウェアの接続方法によって異なります。SPI、UART、SDHC、USB、PCI を使用していますか?

また、少なくとも HSDPA では、ppp接続が必要です。LTEも同じじゃない?この場合、イーサネットは使用するモデルではありません。通常、高速の tty をエミュレートする必要があります。また、n_gsmはネットワーク インターフェイスを提供します。私はこのインターフェースに完全に精通しているわけではありませんが、これはLTE. これは十分に文書化されていません。また、これが使用しているハードウェアである場合は、オプションのUSB シリアル ドライバーもあります。LTE の処理に使用するパッチの例。このパッチは、現在のネットワーク サポートn_gsmに作り直されたと思います。n_gsm

ハードウェアについて詳しく教えてください。

于 2013-03-25T15:55:42.143 に答える
0

コメント内ですでに述べたように:

struct sk_buff、そしてそれはその正確な特定の目的のために作成されます

たとえば、http://www.linuxfoundation.org/collaborate/workgroups/networking/skbuffを参照してください。

于 2013-03-25T14:11:56.647 に答える