デバイスマッパーターゲットがI / Oが送信される速度を制限する方法はありますか?

デバイスマッパーターゲットがI / Oが送信される速度を制限する方法はありますか?

デバイスマッパーターゲットを作成中に問題が発生しました。 I / Oテストを実行すると、ターゲットに到達するI / Oの数が非常に高くなります。これは、ファイルシステムのバッファリングによって発生する可能性があります。時には、何万ものI/Oが自分の宛先に送信され、他のコマンドに応答しないことがわかります。一度にコミットされるI / Oの数を制限する方法はありますか?リクエストベースのターゲットには忙しいコールバックがあり、トリックを実行しているように見えますが、マッピングできるデバイスの種類に制限があるため、私にとっては問題になります。ほとんどの既存の生物学的標的は複雑な機能に設定されていますが、これだけでは問題は解決しないようです。ほとんどの場合、DM_MAPIO_REQUEUEを返すか、EBUSYを使用してi / oを完了すると、単にEIOに変換され、操作が失敗します。

既存のターゲットといくつかのテストコードを使用した後は、進行中のI / Oは処理のためにジョブキューにI / Oを配置し、すぐにI / Oをサポートデバイスに送信してそれを制限するターゲットに関連付けられているようです。これが真であれば、制限が発生するメカニズムが見つかりません。

I/O 流入速度を遅らせる方法はありますか?それともそうでない場合は、デバイスの応答性を維持するためのベストプラクティスはありますか?それとも処理順序を提案しますか?

関連情報