lgtm On Thu, Apr 14, 2016 at 2:14 PM Barret Rhoden <[email protected]> wrote:
> Hi - > > This patchset implements timerfd on top of #alarm, for the most part. > Our underlying CLOCK_ work is lacking, and there are probably other > issues. But it does pass the timerfd test from Linux (which I expanded > to catch a few more bugs of mine). > > Barret > > > The following changes since commit > 3239f74daaf67295d1ae65b52cee8f053bb2945e: > > Set qemu's port-forwarding to port 22 (2016-04-07 14:14:51 -0400) > > are available in the git repository at: > > [email protected]:brho/akaros.git timerfd > > for you to fetch changes up to 75686820dce0764f084cfdab6a4492340b2cc2b8: > > Port tests/timerfd.c (2016-04-14 17:08:39 -0400) > > ---------------------------------------------------------------- > View this online at: > https://github.com/brho/akaros/compare/3239f74daaf6...75686820dce0 > > ---------------------------------------------------------------- > Barret Rhoden (14): > Modify glibc's printf for use from VC ctx (XCC) > Implement clock_gettime() (XCC) > Add two time conversion helpers to glibc (XCC) > Use FD taps for event delivery for #alarm > Add user helpers save_err and restore_err (XCC) > Implement pipes in userspace (XCC) > Export sys/plan9_helpers.h from glibc (XCC) > Add helpers for common 9ns functions (XCC) > Change #alarm cancel method > Add the helper strtoul_from_ubuf() > Add period and count to #alarm > Implement timerfd on top of #alarm (XCC) > Import timerfd test from Linux > Port tests/timerfd.c > > kern/drivers/dev/alarm.c | 278 > ++++++++++++++----- > kern/include/devalarm.h | 10 +- > kern/include/ns.h | 2 +- > kern/include/ros/bits/syscall.h | 2 +- > kern/src/ns/sysfile.c | 46 ---- > kern/src/ns/util.c | 18 ++ > kern/src/syscall.c | 17 -- > tests/alarm.c | 46 +--- > tests/cs.c | 2 +- > tests/evq_block.c | 4 +- > tests/timerfd.c | 296 > +++++++++++++++++++++ > .../glibc-2.19-akaros/sysdeps/akaros/Makefile | 9 + > .../glibc-2.19-akaros/sysdeps/akaros/Versions | 11 +- > .../glibc-2.19-akaros/sysdeps/akaros/accept.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/bind.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/bits/errno.h | 2 + > .../sysdeps/akaros/bits/timerfd.h | 29 ++ > .../sysdeps/akaros/clock_gettime.c | 27 ++ > .../glibc-2.19-akaros/sysdeps/akaros/connect.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/errno.c | 21 ++ > .../glibc-2.19-akaros/sysdeps/akaros/gethstbyad.c | 2 +- > .../sysdeps/akaros/gethstbyad_r.c | 2 +- > .../sysdeps/akaros/gethstbynm2_r.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/getpeername.c | 2 +- > .../sysdeps/akaros/getprtname_r.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/getsockname.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/getsockopt.c | 2 +- > .../sysdeps/akaros/getsrvbynm_r.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/getsrvbypt.c | 2 +- > .../sysdeps/akaros/getsrvbypt_r.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/listen.c | 2 +- > .../sysdeps/akaros/parlib-compat.c | 19 +- > .../glibc-2.19-akaros/sysdeps/akaros/pipe2.c | 62 +++-- > .../sysdeps/akaros/plan9_sockets.c | 34 ++- > .../glibc-2.19-akaros/sysdeps/akaros/recv.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/recvfrom.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/send.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/sendto.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/setsockopt.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/shutdown.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/socket.c | 2 +- > .../glibc-2.19-akaros/sysdeps/akaros/socketpair.c | 2 +- > .../{plan9_sockets.h => sys/plan9_helpers.h} | 14 +- > .../glibc-2.19-akaros/sysdeps/akaros/sys/timerfd.h | 52 ++++ > .../glibc-2.19-akaros/sysdeps/akaros/timerfd.c | 208 +++++++++++++++ > .../glibc-2.19-akaros/sysdeps/akaros/vfprintf.c | 21 +- > user/benchutil/alarm.c | 45 ++-- > user/benchutil/include/benchutil/alarm.h | 5 +- > user/benchutil/pvcalarm.c | 45 +--- > user/iplib/epoll.c | 4 +- > user/parlib/debug.c | 45 ---- > user/parlib/debugfmt.c | 196 -------------- > user/parlib/include/parlib/stdio.h | 3 - > 53 files changed, 1072 insertions(+), 545 deletions(-) > create mode 100644 tests/timerfd.c > create mode 100644 > tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/bits/timerfd.h > create mode 100644 > tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/clock_gettime.c > rename > tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/{plan9_sockets.h > => sys/plan9_helpers.h} (95%) > create mode 100644 > tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/sys/timerfd.h > create mode 100644 > tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/timerfd.c > delete mode 100644 user/parlib/debugfmt.c > > -- > You received this message because you are subscribed to the Google Groups > "Akaros" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
