591 Commits (50fd8c48534b879ed0337d024c77ee5e4548fcab)

Author SHA1 Message Date
Sean McBride 7f8a11f2d5 feat: Round robin for FIFO preemption
4 years ago
Sean McBride b924ed812d feat: Simplify softint disable logic
4 years ago
Sean McBride 758a1425b5 refactor: additional cleanup
4 years ago
Sean McBride 85856148e1 refactor: Additional cleanup
4 years ago
Sean McBride 0f0d0fcb18 feat: rework of scheduler logic
4 years ago
Sean McBride 91c429cd8f feat: simplified sigalrms
4 years ago
Sean McBride ec630e1711 chore: fix inexplicably missing include
4 years ago
Sean McBride 0b6e8e891f refactor: Additional static inlines
4 years ago
Sean McBride 064dac1aaf refactor: assorted header cleanup
4 years ago
Sean McBride d8fa1fe4c7 chore: revert change to fix build
4 years ago
Sean McBride 9e3530427a refactor: assorted fixed from clang warnings
4 years ago
Sean McBride d269c04c69 refactor: Namespace cleanup
4 years ago
Sean McBride faacc5c785 refactor: http header cleanup
4 years ago
Sean McBride f435cea9c8 refactor: Shift sandbox inlines
4 years ago
Sean McBride 100f66966f chore: Add zombie listener thread prio call
4 years ago
Sean McBride 1a561a27a7 refactor: Fix syscall headers
4 years ago
Sean McBride f25b0d687e refactor: fix headers in client socket
4 years ago
Sean McBride a5ea5f410a fix: Correct namespace issue on prio symbols
4 years ago
Sean McBride 13c511a679 feat: add prio logic
4 years ago
Sean McBride 01019aa968
Merge pull request #212 from gwsystems/module-database-only
4 years ago
Sean McBride 70409f9bc5
Merge pull request #211 from gwsystems/only-pq-error-checks
4 years ago
Sean McBride e42a04b2ce refactor: module db capacity
4 years ago
Sean McBride 4fe3a66155 chore: Mark pq enospc as unlikely
4 years ago
Sean McBride e83d79831f feat: track longest held lock
4 years ago
Sean McBride c226ff2e03 refactor: small nits
4 years ago
Sean McBride 176d67ac90 refactor: simplify worker checking logic
4 years ago
Sean McBride f38b08cee7 refactor: sandbox
4 years ago
Sean McBride 2f5a3db2ec refactor: module
4 years ago
Sean McBride e16b3bd937 refactor: Additional current sandbox
4 years ago
Sean McBride 6c8a2c78c1 refactor: current sandbox
4 years ago
Sean McBride d507a0730d refactor: module database
4 years ago
Sean McBride 1be32fa2d2 refactor: http total
4 years ago
Sean McBride 5cab06fac4 refactor: http request
4 years ago
Sean McBride f665c6ab1f refactor: generic thread
4 years ago
Sean McBride aa77d07f75 refactor: client socket
4 years ago
Sean McBride 3fc750263d refactor: admissions info
4 years ago
Sean McBride 067cbf6fc9 chore: Encapsulate Admissions Control
4 years ago
Sean McBride 6b1dde7257 refactor: Clean up listener core locks and org
4 years ago
Sean McBride de8def59cc chore: rlimit cleanup
4 years ago
Sean McBride 5102647b96 chore: Disable preemption logging
4 years ago
Sean McBride d92fc7e8e4 fix: Correct typo in error log
4 years ago
Sean McBride eb4e5b276a fix: Revert sigmask change
4 years ago
Sean McBride a5b5e0f29a fix: Stop handling signals in initialize thread
4 years ago
Sean McBride b3e93a087e feat: WIP implementation
4 years ago
Sean McBride ea6c40ab3c chore: Configurable quantum
4 years ago
Sean McBride 3f18cf0cfc feat: make preemption toggle runtime config
4 years ago
Sean McBride 1500935d1c docs: Add note for RTLD_DEEPBING flag w sanitizers
4 years ago
Sean McBride 8ca49ba160 fix: Correct sandbox double free
4 years ago
Sean McBride b510214e37 fix: Make module reference count atomic
4 years ago
Sean McBride 7dbb0a625c chore: Better out-of-memory error
4 years ago
Sean McBride a3b3dfe8ef doc: Correct copypasta debugging message
4 years ago
Sean McBride e1f7dbe6c3 fix: type error and typo
4 years ago
Sean McBride 7dd623fd6f chore: fix typo in comment
4 years ago
Sean McBride a0810a4533 chore: log client info on socket descriptor error
4 years ago
Sean McBride 64fca85cc4 fix: correct socket address lifetime error
4 years ago
Sean McBride 41db0f7a13 chore: Initialize and early out on completion queue free
4 years ago
Sean McBride 2c13e111fa fix: Correct assert typo
4 years ago
Sean McBride 003b57a76c fix: explicitly convert void*
4 years ago
Sean McBride 124d1180bd chore: Cleanup dl error handling
4 years ago
Sean McBride c81ca379fa chore: Mask all includes if USE_MEM_VM not defined
4 years ago
Sean McBride 661748afe4 feat: Basic memory profiling
4 years ago
Sean McBride 2d717e736d fix: Limit granularity check to admissions control
4 years ago
Sean McBride 2ad7711884 chore: update tests to handle stricter validation
4 years ago
Sean McBride 86b1a274e9 chore: validation and active as boolean
4 years ago
Sean McBride 5968d9b72e feat: more explicit config logging and validation
4 years ago
Sean McBride e771e7e1e0 feat: add memory to sandbox log
4 years ago
Sean McBride 0a15932acd feat: implement mremap
4 years ago
Sean McBride 192f539f36 test: Improve Image resize
4 years ago
Sean McBride 8dd53dfd96 fix: Flush log on sigterm
4 years ago
Sean McBride 6e998a8143 fix: Ensure workers init before softints
4 years ago
Sean McBride 9fc7d4c54f chore: Add issue for memory leak
4 years ago
Sean McBride ce4e3a9795 chore: remove zombie error handling
4 years ago
Sean McBride 1af0610fe0 chore: Add issue for epoll error handling
4 years ago
Sean McBride eaebb083ed chore: increase request queue size
4 years ago
Sean McBride de1ab890c4 feat: admissions control headspace for overhead
4 years ago
Sean McBride 978b692452 fix: correct assorted bugs
4 years ago
Sean McBride 6306b46ea1 chore: debug current_sandbox_get
4 years ago
Sean McBride 6554e6d1fe fix: correct sloppy overflow
4 years ago
Sean McBride 474f104092 chore: remove redundant highest_priority updates
4 years ago
Sean McBride b5f63edfee chore: Update logs and flags
4 years ago
Sean McBride a97fe31848 chore: Refactor processor speed to use int
4 years ago
Sean McBride d3e085c64e fix: correct PQ bug
4 years ago
Sean McBride 9767aec9ad chore: refactor away DEBUG define
4 years ago
Sean McBride 5d8a761b61 feat: Refactor of conditional compilation units
4 years ago
Sean McBride f7df3c876e chore: assorted socket error handling
4 years ago
Sean McBride 32099fa948 fix: correct allocate error handling
4 years ago
Sean McBride a83ae29d1b feat: remove libuv, rework pq, http close DRY up
4 years ago
Sean McBride 8aef688553 feat: runtime configurable sandbox perf logging
4 years ago
Sean McBride 99d33c46cb fix: correct error code
4 years ago
Sean McBride e810d78561 feat: expose NWORKERS as environment var
4 years ago
Sean McBride c0a97a5394 feat: Expose scheduler as runtime config
4 years ago
Sean McBride c97ab91ff2 feat: Additional syscalls
4 years ago
Sean McBride 46f597a78c fix: correct http-parser bug
4 years ago
Sean McBride abbce7df68 fix: restore additional syscalls
4 years ago
Sean McBride 5d87f892a3 chore: add client debug logging
4 years ago
Sean McBride 52d17f63cd fix: ignore SIGPIPE
4 years ago
Sean McBride 5ff50938e0 fix: Ignore SIGPIPEs
4 years ago
Sean McBride 0e892de5b0 chore: fix error handling
4 years ago
Sean McBride 25d746c2e4 feat: WIP
4 years ago
Sean McBride f356cff4a2 chore: Return sane errno on unimplemented syscall
5 years ago
Sean McBride 106db3d348 chore: clarified syscall backing functions
5 years ago
Sean McBride 81a4d65a2e docs: Add attribution to syscall.c
5 years ago
Sean McBride a307d6193a fix: correct atomics
5 years ago
Sean McBride 455d73d719 chore: fix error on NDEBUG
5 years ago
Sean McBride 2a82fe96f3 feat: get epoll implementation working
5 years ago
Sean McBride ff8c04a6e9 chore: Change client parsing from error to log
5 years ago
Sean McBride 10ad100847 feat: Use integers for admissions control
5 years ago
Sean McBride c3dbe76173 chore: Change panic to assert
5 years ago
Sean McBride 3159ab8d88 chore: Replace assert with runtime panic
5 years ago
Sean McBride 1429eb1218 chore: remove extra casts
5 years ago
Sean McBride c855d013c8 fix: remove atomics from threadlocal
5 years ago
Sean McBride bf6b5d3c61 fix: cleanup lock API
5 years ago
Sean McBride 69aa03d68f fix: correct async write 4XX
5 years ago
Sean McBride 83c0fcd26a fix: correct so compiles on USE_HTTP_UVIO
5 years ago
Sean McBride cded94e68d refactor: Clear pointer earlier
5 years ago
Sean McBride 6ade9a2927 docs: add missing returns
5 years ago
Sean McBride 3c7e062548 refactor: cleanup module DB
5 years ago
Sean McBride d3df215963 chore: Improve docs and asserts of req parsing
5 years ago
Sean McBride a34f98f579 fix: Improve module_listen error handling
5 years ago
Sean McBride 92c17d7717 chore: Assorted debugging enhancements
5 years ago
Sean McBride c8c7c6a000 feat: check for accidental sandbox returns
5 years ago
Sean McBride 6c718dfa6e chore: Stop adding to unused database
5 years ago
Sean McBride 0e521668f8 feat: refactor workers for nonblocking sockets
5 years ago
Sean McBride a7293a7a0a feat: non-blocking listener core
5 years ago
Sean McBride c1663f59ac chore: Improve module listen error handling
5 years ago
Sean McBride c1edca2a42 chore: assorted socket error handling
5 years ago
Sean McBride 9ead528dfc chore: better debugging and small socket fixes
5 years ago
Sean McBride 587e2ab354 feat: Only dequeue request if actually earlier
5 years ago
Sean McBride e3261244ee chore: replace aborts with panics
5 years ago
Sean McBride 9bed646e3b chore: enhance log granularity
5 years ago
Sean McBride 9749299672 chore: replace spinloop with return to main loop
5 years ago
Sean McBride 01d32c19f8 chore: replace asserts with abort to be use NDEBUG
5 years ago
Sean McBride 84cdcf7b6c chore: Remove extra softint disable/enable
5 years ago
Sean McBride 6021807256 feat: formalize idle loop
5 years ago
Sean McBride 3fcc9c123a chore: fix logging error
5 years ago
Sean McBride 82d0505104 chore: make durations uint32_t
5 years ago
Sean McBride d1d27a9162 feat: percentiles for execution estimates
5 years ago
Sean McBride c9bcf086fa fix: correct locking issue
5 years ago
Sean McBride f8f1db7eaf feat: complete lock refactor
5 years ago
Sean McBride b3215c6dbc feat: all but trylock
5 years ago
Sean McBride 6673734857 feat: mcs locks and profiling
5 years ago
Sean McBride c291b049c8 fix: Properly close malformed requests
5 years ago
Sean McBride e430202c1f fix: correct control flow bug
5 years ago
Sean McBride e445e76870 feat: add ability to reject request
5 years ago
Sean McBride 76ba308c16 feat: Initial MVP of admissions control
5 years ago
Sean McBride f99050706e chore: simplify Makefile prefix
5 years ago
Sean McBride 4b107f3033 chore: cleanup debuglog file logic
5 years ago
Sean McBride c307f2a166 feat: Implement perf window
5 years ago
Sean McBride 628275f6f9 docs: Associate FIXMEs and TODOs with issues
5 years ago
Sean McBride f963828db7 chore: general pq cleanup
5 years ago
Sean McBride 6cb442d13d docs: assumptions and runtime globals
5 years ago
Sean McBride ba4f9e2119 feat: precomp module deadline cycles
5 years ago
Sean McBride 1b58f819a7 chore: reuse is_worker function
5 years ago
Sean McBride e898d5ab69 chore: validate interrupts disabled at spinlock
5 years ago
Sean McBride d6f10cac7a refactor: decompose types.h
5 years ago
Sean McBride 486a72647b feat: add check to validate signal on worker
5 years ago
Sean McBride 564765c226 refactor: break sigalrm propagate into util func
5 years ago
Sean McBride 3cec497a9b refactor: break signal handlers into inline funcs
5 years ago
Sean McBride 2d1678e091 feat: Encore minimum cores at compiletime
5 years ago
Sean McBride 9720f82441 chore: require min 2 cores
5 years ago
Sean McBride b315844c46 feat: constant propagation state transitions
5 years ago
Sean McBride 3bf9cc806a chore: remove redundant zeroing out logic
5 years ago
Sean McBride aac2d3304f docs: fix erroneous comment
5 years ago
Sean McBride eca1546f7a chore: improved logging
5 years ago
Sean McBride 465b820326 chore: static inline sandbox_state_stringify
5 years ago
Sean McBride 43d00d645f feat: tighten softint asserts in state transitions
5 years ago
Sean McBride a70187eed0 refactor: DRY up state transitions
5 years ago
Sean McBride c37b2ba9a9 docs: Assorted comment cleanup
5 years ago
Sean McBride 842d078846 feat: set as error transition
5 years ago
Sean McBride c0bcbdbc2e feat: set as returned
5 years ago
Sean McBride c014f94797 feat: set as blocked
5 years ago
Sean McBride b85d089537 feat: running, preempted, complete transitions
5 years ago
Sean McBride 65b10f19dd feat: sandbox set as runnable
5 years ago
Sean McBride fd22432cb0 refactor: set_as_initialized
5 years ago
Sean McBride 048b01e690 feat: print_perf
5 years ago
Sean McBride 24e25f255f feat: add sandbox_state_stringify
5 years ago
Sean McBride 33d65605b1 refactor: free linear memory func
5 years ago
Sean McBride 7dc4488d74 chore: add sandbox state
5 years ago
Sean McBride 853382dcda fix: correct HTTP response syntax
5 years ago
Sean McBride 8d1b447e74 refactor: cleanup HTTP response logic
5 years ago
Sean McBride 81e3a88a1f chore: fix case on enums
5 years ago
Sean McBride 3aba285862 refactor: namespace to arch_context_variant
5 years ago
Sean McBride 8b199f702e chore: remove extra consistency check
5 years ago
Sean McBride fdba1b1de8 feat: error check context variants
5 years ago
Sean McBride 9c74fffd38 docs: remove FIXME
5 years ago
Sean McBride bbc8d05ec9 refactor: remove erronious error check
5 years ago
Sean McBride 9a963f1d0c refactor: rename confusing function name
5 years ago
Sean McBride 7919dff0ba refactor: decapitalize enums
5 years ago
Sean McBride ef648ab47c docs: remove zombie commented out code.
5 years ago
Sean McBride 20588eb489 refactor: remove extra asserts in SIGUSR1
5 years ago
Sean McBride 8614a838f8 docs: fix comment block
5 years ago
Sean McBride 47672b4c93 fix: correct bugs
5 years ago
Sean McBride b979809c12 chore: fix debuglog usage
5 years ago
Sean McBride 2db5f84f11 chore: Initial buggy port
5 years ago
Sean McBride 8ddab81a22 chore: revert soft int location
5 years ago
Sean McBride 86fe1ceaa0 chore: rename to minimize diff
5 years ago
Sean McBride 080c3d6656 chore: simplify RCs
5 years ago
Sean McBride 41f63ebafc chore: use debuglog
5 years ago
Sean McBride 2ceede804a chore: revert sandbox alloc API
5 years ago
Sean McBride 1ae6acbbee fix: correct bug and harden error handling
5 years ago
Sean McBride 180df1a7d5 feat: initial implementation with interrupt bugs
5 years ago
Sean McBride e0df43fedf docs: added comments to SIGALRM
5 years ago
Sean McBride 233ba1fa13 doce: Improve error message
5 years ago
Sean McBride 95f66ff22a chore: remove overkill debuglog
5 years ago
Sean McBride de9e20ce89 chore: Improve default signal handler
5 years ago
Sean McBride 9d5859aeaa chore: replace perror with fprintf
5 years ago
Sean McBride 5c87885722 chore: rename request_arrival_timestamp
5 years ago
Sean McBride 2b161f2f86 refactor: move mcontext_restore to arch_context
5 years ago
Sean McBride d1f80d8b1e chore: port simple doc and error handlign
5 years ago
Sean McBride a2319f2a68 chore: refactor out arch_context_t
5 years ago
Sean McBride 2f164c3430 chore: refactor our sandbox_request_t
5 years ago
Sean McBride 213c558a75 chore: refactor out i32
5 years ago
Sean McBride ec3b489b21 chore: refactor out i64
5 years ago
Sean McBride 4cb7c355b4 chore: refactor out u32
5 years ago
Sean McBride 407a20d22a chore: refactor out u64
5 years ago
Sean McBride eca987ccb4 fix: correct valgrind errors
5 years ago
Sean McBride 0892e98d76 chore: declare global scheduler with panic funcs
5 years ago
Sean McBride f93da9e766 fix: add format printf to panic
5 years ago
Sean McBride 3d9829e6b3 chore: clean up get sandbox in minheap preempt
5 years ago
Sean McBride f0aab63c26 fix: hack to avoid mysterious segfault
5 years ago
Sean McBride fa8e8628eb fix: correct interrupt logic on sandbox switch
5 years ago
Sean McBride b381077b13 docs: cleanup comments
5 years ago
Sean McBride 19c862c92a chore: add error handling code to module loader
5 years ago
Sean McBride e70a5809be feat: improve json error handling
5 years ago
Sean McBride 02d60a740d chore: add trailing newlines
5 years ago
Sean McBride f116e4030d docs: add info on module table init refactor
5 years ago
Sean McBride 324253095d refactor: clarify interval duration is not macro
5 years ago
Sean McBride 95f339de94 refactor: clarify assert in switch_to_sandbox
5 years ago
Sean McBride 47f24b6952 fix: namespace sandbox states
5 years ago
Sean McBride b4fe9a537e refactor: cleanup wakeup sandbox logic
5 years ago
Sean McBride ba31db340b fix: panic on completed run loop
5 years ago
Sean McBride 58a38016b1 chore: sandbox member cache->sandbox context cache
5 years ago
Sean McBride 5c4bd98f54 chore: Improve munmap error handling
5 years ago
Sean McBride f3c037475c docs: fix incoherent comment
5 years ago
Sean McBride 788ba6909b docs: Replace printfs with debuglog
5 years ago
Sean McBride 0465099cfb docs: improve documentation
5 years ago
Sean McBride 4742a86d39 chore: replace exists with panics
5 years ago
Sean McBride 9eb5541afa feat: propagate dequeue and remove return codes
5 years ago
Sean McBride d36b28bf21 chore: local_runqueue add cleanup
5 years ago
Sean McBride 5ccf8bbd87 chore: organize preprocessor includes
5 years ago
Sean McBride f45b450360 chore: DRY up current_sandbox funcs
5 years ago
Sean McBride dfb1c65e93 fix: push PQ error handling to caller
5 years ago
Sean McBride 7384b2de1e fix: harden panic logic
5 years ago
Sean McBride 50b4ab1b6c fix: correct leak in error handling
5 years ago
Sean McBride 68e91a8853 chore: combine thread locals into struct
5 years ago
Sean McBride b3c97462df chore: fix no endline
5 years ago
Sean McBride 1c2aa448cd chore: rename scheduler interfaces and variants
5 years ago
Sean McBride f7e472a8d9 chore: rename get_priority to get_priority_fn
5 years ago
Sean McBride 46881a0f26 chore: suffix fn typedefs with _fn_t
5 years ago
Sean McBride 06180781f6 chore: refactor ternary statements
5 years ago