Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue: 2342345 Optimize wakeup mechanizm #942

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Commits on Mar 4, 2021

  1. issue: 2342345 Add new wakeup mechanism using eventfd

    Add class wakeup_eventfd which hold fd created from eventfd()
    (represented counter in kernel). This fd using as an event wait/notify
    mechanism. Call read() for this fd will increment counter and fd will be
    ready to read. Call write() will decrement counter to zero.
    
    Signed-off-by: Yohanan Betsis <[email protected]>
    Reviewed-by: Igor Ivanov <[email protected]>
    adanos911 authored and igor-ivanov committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    6b5db96 View commit details
    Browse the repository at this point in the history
  2. issue: 2342345 Change poll instead of epoll for wait CQ event

    There issue with big CPU consumption in softirq when we use epoll and
    have large number of waiters for CQ fd. This poll() implementation using
    wakeup_eventfd() for wakeup mechanism.
    
    Signed-off-by: Yohanan Betsis <[email protected]>
    Reviewed-by: Igor Ivanov <[email protected]>
    adanos911 authored and igor-ivanov committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    292e792 View commit details
    Browse the repository at this point in the history
  3. issue: 2342345 Handle concurrent delete from fds poll array

    Add fds which we want to delete in array and wakeup. After wake up we
    handle its event and delete fds from delete fds' array from poll array.
    
    Signed-off-by: Yohanan Betsis <[email protected]>
    Reviewed-by: Igor Ivanov <[email protected]>
    igor-ivanov committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    d14501d View commit details
    Browse the repository at this point in the history