You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using ftrace, I observed that during the select system call,
the kernel invokes do_select → select_poll_one → vfs_poll
→ file->f_op->poll. However, the kxo device did not
implement the poll file operation.
In this case, vfs_poll returns a default mask that causes
select to assume the file is always ready for I/O,
even if a subsequent read would block.
This behavior led to user-facing issues in xo-user.
For example, attempting to pause (Ctrl+P) or
stop (Ctrl+Q) could be delayed or ignored due to
the blocking nature of kxo's read when no data is available.
I implemented poll support using a wait queue to resolve
this problem.
0 commit comments