Vico Chen
User Details
User Details
- User Since
- Jul 3 2021, 9:10 AM (262 w, 4 d)
Sep 24 2021
Sep 24 2021
vico13.chen_gmail.com added inline comments to D31037: Improve the epoll for socket to be compatible with Linux.
vico13.chen_gmail.com added inline comments to D31037: Improve the epoll for socket to be compatible with Linux.
vico13.chen_gmail.com added inline comments to D31037: Improve the epoll for socket to be compatible with Linux.
vico13.chen_gmail.com added a comment to D31037: Improve the epoll for socket to be compatible with Linux.
Got you. These kevents are registered in 'linux_epoll_ctl', and they are only used for linux epoll case. So we need a flag (NOTE_EPOLL) to indicate these kevent are for linux epoll. And in the socket filter read/write, we need check this flag (NOTE_EPOLL), and the assgin values to pevent. Am I right?
Sep 2 2021
Sep 2 2021
vico13.chen_gmail.com added inline comments to D31037: Improve the epoll for socket to be compatible with Linux.
vico13.chen_gmail.com added a comment to D31037: Improve the epoll for socket to be compatible with Linux.
Two concerns:
- In 'linux_epoll_ctl', we set ext[0], and it means, in furture, others can't re-use it, and they must use ext[1].
- In 'linux_epoll_ctl', we set ext[0], and then the kevent is registered. Is there a risk that 'ext[0]' of this kevent is overrided by other components?
Aug 12 2021
Aug 12 2021
vico13.chen_gmail.com added inline comments to D31037: Improve the epoll for socket to be compatible with Linux.
vico13.chen_gmail.com added a comment to D31037: Improve the epoll for socket to be compatible with Linux.
vico13.chen_gmail.com added inline comments to D31037: Improve the epoll for socket to be compatible with Linux.
Aug 9 2021
Aug 9 2021
vico13.chen_gmail.com added a comment to D31037: Improve the epoll for socket to be compatible with Linux.
Test cases
vico13.chen_gmail.com added a comment to D31037: Improve the epoll for socket to be compatible with Linux.
wulf,
This patch is applied in our project which is based on FreeBSD12, and all works well, and we don't see it breaks the API and ABI. Could you please describe more details how it breaks the API and ABI?
If there are concerns for eliminating of ext[3] array, how about just introducing pevent and pmask and keep ext[4] in 'struct kevent'?
Jul 8 2021
Jul 8 2021
Jul 6 2021
Jul 6 2021
vico13.chen_gmail.com updated the diff for D31037: Improve the epoll for socket to be compatible with Linux.
- Introduce 'pmask' in kevent to return the EPOLL events which are requested by applications.
- Add a test case which is compiled on Linux.
vico13.chen_gmail.com updated the diff for D31037: Improve the epoll for socket to be compatible with Linux.
vico13.chen_gmail.com updated the diff for D31037: Improve the epoll for socket to be compatible with Linux.
Jul 5 2021
Jul 5 2021