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

Conversation

igor-ivanov
Copy link
Collaborator

The PR is based on: #915

adanos911 and others added 3 commits March 4, 2021 15:30
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 <yohanan@nvidia.com>
Reviewed-by: Igor Ivanov <igori@nvidia.com>
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 <yohanan@nvidia.com>
Reviewed-by: Igor Ivanov <igori@nvidia.com>
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 <yohanan@nvidia.com>
Reviewed-by: Igor Ivanov <igori@nvidia.com>
@swx-jenkins5
Copy link

Can one of the admins verify this patch?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants