私のアプリケーションは、システム上で動作する他のアプリケーションに対して高性能のサーバとして機能します。開発中、私はコアの約30%がeventfd_write()を呼び出すために消費されたので、単一のシステムコールを使用して複数のevenfdを書き込むためにlibaioを使用しようとしました。 AIOはeventfdではサポートされていないことがわかりました。Linuxを使用してeventfdに書き込むAIO
eventfdにAIOを実装していない、または今のところ誰もこれを必要としていないという明白な障害はありますか?
eventfdにAIOを実装しようとしている既存の作業を知っていますか?
Aは/からのeventfdに読み取り/書き込みRAMに8バイトの整数を読み書きするだけです。私は、AIOを介して同じことをすることは、不均衡なオーバーヘッドを追加すると思います。したがって、AIOを使用することには利点はありません。 – user803422
はい、私はそれを知っていますが、毎秒1Mのeventfd_writesを約30個以上の異なるeventfdに発行すると、すべてのシステムコールがmetterを開始するため、この問題は2つの書き込みを一度に発行することによってシステムコールの数を減らすよう求められます。 – BeginEnd
"1M eventfd_writes per second"←問題があります。本当に1Mのイベントがありますか?それとも、実際に何度も読むのですか? –