F-Stack / f-stack

F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API.
http://www.f-stack.org
Other
3.76k stars 879 forks source link

Dev #823

Closed wenchengji159357 closed 1 month ago

wenchengji159357 commented 1 month ago

After making these modifications, f-stack will support QAT accelerator cards.

When kqueue A is added as an event to kqueue B, kqueue B cannot detect when a new event is added to kqueue A. FreeBSD supports this feature by starting a thread in kernel mode to handle it, ultimately using the kqueue_task function to notify the kqueue. When a new event is added to kqueue A, the kqueue_wakeup function is triggered. Therefore, by modifying the implementation to trigger events in a manner similar to kqueue_task, this functionality can be achieved.

For f-stack to support QAT accelerator cards, the following steps are necessary:

  1. Apply the changes from https://github.com/intel/QAT_Engine/pull/316.
  2. Merge the f-stack adaptations into asynch_mode_nginx.
  3. Follow QAT's usage instructions to use the QAT accelerator cards.

By doing so, f-stack will be able to support QAT accelerator cards.

jfb8856606 commented 1 month ago

I will test it later.