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

transport: fix get_request in linux #62

Merged
merged 1 commit into from Mar 22, 2022

Conversation

killagu
Copy link
Contributor

@killagu killagu commented Mar 22, 2022

mio default add EPOLLET to event flags, so epoll will use
edge-triggered mode. It may let poll miss some event, so
manually register the fd with only EPOLLIN flag to
use level-triggered mode.

@jiangliu
Copy link
Contributor

According to discussions here, tokio-rs/mio#928 , it seems like we could solve the problem with edge trigger?

notify-rs/notify#267

@killagu
Copy link
Contributor Author

killagu commented Mar 22, 2022

With FuseChannel#get_requests and Server#handle_message, we can only handle one message at the same loop. So we dependent the level-trigger mode.

mio default add EPOLLET to event flags, so epoll will use
edge-triggered mode. It may let poll miss some event, so
manually register the fd with only EPOLLIN flag to
use level-triggered mode.
@bergwolf
Copy link
Contributor

Yes, let's fix it with level trigger for now and do a refactor later to switch to edge trigger. wdyt? @jiangliu @liubogithub

@jiangliu
Copy link
Contributor

Yes, let's fix it with level trigger for now and do a refactor later to switch to edge trigger. wdyt? @jiangliu @liubogithub

I'm OK once we got the clear idea why it doesn't work with edge triggered signal.

@jiangliu jiangliu merged commit bdf8472 into cloud-hypervisor:master Mar 22, 2022
@killagu killagu deleted the fix/request branch March 23, 2022 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants