Add FD tap infrastructure (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 30 Jul 2015 20:18:01 +0000 (16:18 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 28 Sep 2015 19:14:00 +0000 (15:14 -0400)
commite5b13cdca4b8985e9ead7ad33c1f2e5cd47d9867
tree11be230558354e8d1f418fba1f7b601954ff6477
parentc38da4ef6cec2bdbabf3eccb3185fa09e79d6ec7
Add FD tap infrastructure (XCC)

FD taps allow the user to receive events when certain things happen to
an FD's underlying disk/device file.  Think epoll/kqueue.  The specific
filters and commands are subject to change.

This commit adds a syscall and the device-independent infrastructure to
pass the command to the device and to deal with all of the issues
related to registration, removal, and other concurrent operations.

Unlike epoll, the FD tap is tracked on the FD and within the device (if
the device so chooses), and this leads to a certain amount of
complexity.  Check out the documentation for details.

Reinstall your kernel headers (make xcc-install-headers).
12 files changed:
Documentation/fd_taps.txt [new file with mode: 0644]
kern/include/fdtap.h [new file with mode: 0644]
kern/include/ns.h
kern/include/ros/bits/syscall.h
kern/include/ros/fdtap.h [new file with mode: 0644]
kern/include/vfs.h
kern/src/Kbuild
kern/src/fdtap.c [new file with mode: 0644]
kern/src/syscall.c
kern/src/vfs.c
user/parlib/include/parlib.h
user/parlib/syscall.c