kevent: Generic event handling mechanism.
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest4 patches 12 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | kevent: Core files.arch/ arch/ include/ +11 more | +1512 | 5 replies | |
| 2/4 | kevent: AIO, aio_sendfile() implementation.fs/ fs/ fs/ +7 more | +732 | 2 replies | |
| 3/4 | kevent: Network AIO, socket notifications.include/ include/ include/ +11 more | +824 | 2 replies | |
| 4/4 | kevent: poll/select() notifications. Timer notifications.kernel/ kernel/ | +333 | 2 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [take3 0/4] kevent: Generic event handling mechanism.
Generic event handling mechanism.
I send this patchset for comments and review, it still contains AIO and aio_sendfile() implementation on top of get_block() abstraction, which was decided to postpone for a while (it is simpler right now to generate patchset as a whole, when kevent will be ready for merge, I will generate patchset without AIO stuff). It does not contain mapped buffer implementation, since it's design is not 100% completed, I will present that implementation in the third patchset.
Changes from 'take2' patchset:
* split kevent_finish_user() to locked and unlocked variants
* do not use KEVENT_STAT ifdefs, use inline functions instead
* use array of callbacks of each type instead of each kevent callback initialization
* changed name of ukevent guarding lock
* use only one kevent lock in kevent_user for all hash buckets instead of per-bucket locks
* do not use kevent_user_ctl structure instead provide needed arguments as syscall parameters
* various indent cleanups
* mapped buffer (initial) implementation (no userspace yet)
Changes from 'take1' patchset:
- rebased against 2.6.18-git tree
- removed ioctl controlling
- added new syscall kevent_get_events(int fd, unsigned int min_nr, unsigned int max_nr, unsigned int timeout, void __user *buf, unsigned flags)
- use old syscall kevent_ctl for creation/removing, modification and initial kevent initialization
- use mutuxes instead of semaphores
- added file descriptor check and return error if provided descriptor does not match kevent file operations
- various indent fixes
- removed aio_sendfile() declarations.
Thank you.