Hi -

This patch set has a bunch of bug fixes, debugging helpers, and other
enhancements.  Notably:

- Don't drop epoll events under heavy event load
- trace_printf(), interleaves with trace_printk() (cat /prof/kptrace)
- Fixed a couple zombie process bugs (stuck in DYING_ABORT)
- Can epoll on /dev/stdin; stdin/stdout/stderr are in #cons, not the VFS

Check out the commit log for more details.

Also note that the VFS /dev is now /dev_vfs/.  The user-space side to
the mlx4 user driver will need to change, since the nodes created by
make_device() are now in /dev_vfs/.

This patchset also might break ipconfig temporarily.  It won't refresh
DHCP leases.  It's actually quite nasty - what was happening before was
that ipconfig would fork and its child and parent would both access the
alarms of the parent - it's not clear if/how/why that was working
(since the parent was DYING_ABORT, no one should have received the
message).  This shouldn't really affect anyone, but you might see this:

        Useralarm: Failed to set timer: Bad file number, This space in
        kern/src/ns/sysfile.c@70 needs filling in.

Once Dan's 'daemonize' patch set gets in, this problem should go away.


Barret



The following changes since commit 216b406e8bf6692b3efcc9b2113d5019776a7178:

  Remove `SYS_getpid` system call. (XCC) (2016-10-05 14:28:29 -0400)

are available in the git repository at:

  [email protected]:brho/akaros.git net

for you to fetch changes up to 2dfe4fff0338bec1d6132d4ce094cf6abe25b985:

  Remove our glibc poll implementation (XCC) (2016-10-06 14:47:45 -0400)

----------------------------------------------------------------
View this online at:
https://github.com/brho/akaros/compare/216b406e8bf6...2dfe4fff0338

----------------------------------------------------------------
Barret Rhoden (22):
      epoll: Fix event clobber
      epoll: Clean up epoll_wait and stop excess polling
      Add a helper for async syscalls
      epoll: Set up the alarm_evq at init time
      Add trace_printf()
      Use proc_decref() in #proc
      Change syscall usec timeouts to unsigned longs
      Delay clearing owning proc in sys_exec
      Fix clobber of current in kthread.c
      Avoid needless TLB flush when restarting kthreads
      Fix potential overflow error in CEQs (XCC)
      Close alarm FDs on fork()
      qio: Add a check to pullupblock
      qio: Only fire writable taps on edge transitions
      Fix a few debugging tools
      Remove the old console input code; use qio
      Move stdin/stdout/stderr to #cons
      Move VFS /dev/ -> /dev_vfs/
      Add a devstat helper
      Add nonblocking reads and FD taps to #cons/stdin
      Link busybox with iplib
      Remove our glibc poll implementation (XCC)

 kern/arch/riscv/console.c                          |   8 +-
 kern/arch/riscv/trap.c                             |  11 +-
 kern/arch/x86/init.c                               |   6 +-
 kern/drivers/dev/cons.c                            | 135 ++++++++++++++++++++-
 kern/drivers/dev/proc.c                            |  38 +++---
 kern/drivers/dev/regress.c                         |   2 +-
 kern/include/console.h                             |  39 ------
 kern/include/monitor.h                             |   2 +
 kern/include/ns.h                                  |   2 +
 kern/include/ros/ceq.h                             |   4 +-
 kern/src/Kbuild                                    |   1 -
 kern/src/console.c                                 |  97 ---------------
 kern/src/devfs.c                                   | 132 +-------------------
 kern/src/init.c                                    |   2 -
 kern/src/kthread.c                                 |  35 ++++--
 kern/src/monitor.c                                 |   7 +-
 kern/src/ns/dev.c                                  |  22 ++--
 kern/src/ns/qio.c                                  |  79 ++++++------
 kern/src/ns/sysfile.c                              |   2 +-
 kern/src/process.c                                 |  29 +++--
 kern/src/syscall.c                                 |  40 ++----
 kern/src/trap.c                                    |   5 +-
 .../1.17.3/0008-link-with-iplib.patch              |  21 ++++
 .../glibc-2.19-akaros/sysdeps/akaros/poll.c        |  37 ------
 user/benchutil/alarm.c                             |  13 ++
 user/iplib/epoll.c                                 | 100 ++++++++-------
 user/parlib/ceq.c                                  |  49 ++++----
 user/parlib/debug.c                                |  28 +++++
 user/parlib/include/parlib/ceq.h                   |   3 +-
 user/parlib/include/parlib/parlib.h                |   6 +-
 user/parlib/include/parlib/ros_debug.h             |   1 +
 user/parlib/syscall.c                              |  25 +++-
 32 files changed, 463 insertions(+), 518 deletions(-)
 delete mode 100644 kern/include/console.h
 delete mode 100644 kern/src/console.c
 create mode 100644 
tools/apps/busybox/akaros-patches/1.17.3/0008-link-with-iplib.patch
 delete mode 100644 
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/poll.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.

Reply via email to