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.