Sean McBride
cbfad57af9
fix: correct assorted bugs
4 years ago
Sean McBride
36d649e098
chore: improve documentation of preempt_disable
4 years ago
Sean McBride
c9e4477f64
chore: log invalid context
4 years ago
Sean McBride
aad8d83ce6
chore: fix missing include
4 years ago
Sean McBride
84d632bbfb
chore: debug current_sandbox_get
4 years ago
Sean McBride
1f7036d1fb
chore: add client for preemption
4 years ago
Sean McBride
f5e2032ef7
chore: push update of experiments
4 years ago
Sean McBride
daec8f5753
chore: make quantum smaller
4 years ago
Sean McBride
ec627968c0
fix: correct sloppy overflow
4 years ago
Sean McBride
134aad35f9
chore: remove redundant highest_priority updates
4 years ago
Sean McBride
46d7f14116
chore: Update logs and flags
4 years ago
Sean McBride
abdcda28d0
docs: Update zombie funciton comment
4 years ago
Sean McBride
f9c8ceca15
chore: update extern to match integral MHz
4 years ago
Sean McBride
f005983709
chore: Refactor processor speed to use int
4 years ago
Sean McBride
7cd695b84d
fix: correct PQ bug
4 years ago
Sean McBride
74a4397bbc
chore: Update preemption with new keys
4 years ago
Sean McBride
5327ac1e8c
chore: refactor away DEBUG define
4 years ago
Sean McBride
4d2e2641f4
feat: Refactor of conditional compilation units
4 years ago
Sean McBride
ac55d309ff
chore: rename state in unhygienic lock macros
4 years ago
Sean McBride
012729ada1
chore: assorted socket error handling
4 years ago
Sean McBride
9d19d55179
fix: correct allocate error handling
4 years ago
Sean McBride
696f9e092f
chore: remove uv related prepocessor stuff
4 years ago
Sean McBride
51c26bb952
feat: remove libuv, rework pq, http close DRY up
4 years ago
Sean McBride
3afe74ae78
feat: runtime configurable sandbox perf logging
4 years ago
Sean McBride
aa5c873c2a
chore: Remove configs that are now dynamic
4 years ago
Sean McBride
0a08453f29
chore: DRY up scripts
4 years ago
Sean McBride
b0f20d62fc
fix: correct error code
4 years ago
Sean McBride
0b41d21476
feat: expose NWORKERS as environment var
4 years ago
Sean McBride
cf29da6517
chore: update preeption experiment
4 years ago
Sean McBride
abce89b981
feat: Expose scheduler as runtime config
4 years ago
Sean McBride
306eb39b16
feat: Complete application experiment
4 years ago
Sean McBride
e19d007ca7
feat: Additional syscalls
4 years ago
Sean McBride
e7723e3331
fix: correct http-parser bug
4 years ago
Sean McBride
887c2de312
test: Add payload experiment
4 years ago
Sean McBride
d860adc81e
chore: Add gocr application
4 years ago
Sean McBride
5d9be6e926
fix: restore additional syscalls
4 years ago
Sean McBride
bc8c16c44e
chore: Remove experiment results
4 years ago
Sean McBride
f8d3e8d961
chore: Move preeption to experiments directory
4 years ago
Sean McBride
61ae0375af
docs: add documentation for concurrency experiment
4 years ago
Sean McBride
d5ba4b03bc
chore: restore default NCORES
4 years ago
Sean McBride
0509874d6f
test: add concurrency experiment
4 years ago
Sean McBride
c6dacb99ac
chore: add client debug logging
4 years ago
Sean McBride
a54a72724b
fix: ignore SIGPIPE
4 years ago
Sean McBride
20f965af61
fix: Ignore SIGPIPEs
4 years ago
Sean McBride
ec40ad0c0c
chore: Various experiments
4 years ago
Sean McBride
b283f8b8f1
docs: Remove incorrect comment
4 years ago
Sean McBride
368478374f
chore: fix error handling
4 years ago
Sean McBride
7bf48e3aaa
feat: WIP
4 years ago
Sean McBride
2bed1bf2e3
refactor: set flags to bool
4 years ago
Sean McBride
f356cff4a2
chore: Return sane errno on unimplemented syscall
4 years ago
Sean McBride
106db3d348
chore: clarified syscall backing functions
4 years ago
Sean McBride
81a4d65a2e
docs: Add attribution to syscall.c
4 years ago
Sean McBride
a307d6193a
fix: correct atomics
4 years ago
Sean McBride
575d64eba8
chore: restore max cores
4 years ago
Sean McBride
455d73d719
chore: fix error on NDEBUG
4 years ago
Sean McBride
2a82fe96f3
feat: get epoll implementation working
4 years ago
Sean McBride
ff8c04a6e9
chore: Change client parsing from error to log
4 years ago
Sean McBride
10ad100847
feat: Use integers for admissions control
4 years ago
Sean McBride
c3dbe76173
chore: Change panic to assert
4 years ago
Sean McBride
3159ab8d88
chore: Replace assert with runtime panic
4 years ago
Sean McBride
1429eb1218
chore: remove extra casts
4 years ago
Sean McBride
c855d013c8
fix: remove atomics from threadlocal
4 years ago
Sean McBride
bf6b5d3c61
fix: cleanup lock API
4 years ago
Sean McBride
69aa03d68f
fix: correct async write 4XX
4 years ago
Sean McBride
83c0fcd26a
fix: correct so compiles on USE_HTTP_UVIO
4 years ago
Sean McBride
cded94e68d
refactor: Clear pointer earlier
4 years ago
Sean McBride
6ade9a2927
docs: add missing returns
4 years ago
Sean McBride
3c7e062548
refactor: cleanup module DB
4 years ago
Sean McBride
e0a80711f9
chore: Simplify module db add
4 years ago
Sean McBride
d3df215963
chore: Improve docs and asserts of req parsing
4 years ago
Sean McBride
a34f98f579
fix: Improve module_listen error handling
4 years ago
Sean McBride
a4da76c303
chore: Document alternate CC_OPTIONS
4 years ago
Sean McBride
92c17d7717
chore: Assorted debugging enhancements
4 years ago
Sean McBride
c8c7c6a000
feat: check for accidental sandbox returns
4 years ago
Sean McBride
f93a18e685
chore: change perror to debuglog
4 years ago
Sean McBride
e91f9feb8e
fix: disable interrupts when lock is held
4 years ago
Sean McBride
6c718dfa6e
chore: Stop adding to unused database
4 years ago
Sean McBride
0e521668f8
feat: refactor workers for nonblocking sockets
4 years ago
Sean McBride
a7293a7a0a
feat: non-blocking listener core
4 years ago
Sean McBride
0787b27b4f
fix: correct module db errors
4 years ago
Sean McBride
019130b43c
chore: Cleanup module_database_dd
4 years ago
Sean McBride
c1663f59ac
chore: Improve module listen error handling
4 years ago
Sean McBride
296a907107
docs: better document epoll backlog
4 years ago
Sean McBride
c1edca2a42
chore: assorted socket error handling
4 years ago
Sean McBride
9ead528dfc
chore: better debugging and small socket fixes
4 years ago
Sean McBride
47a98d8518
chore: increase relative deadline fib2
4 years ago
Sean McBride
587e2ab354
feat: Only dequeue request if actually earlier
4 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
04e63c2a02
chore: panic on recursive softint disables
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
c30018eb4a
chore: Improve buffer names
5 years ago
Sean McBride
82d0505104
chore: make durations uint32_t
5 years ago
Sean McBride
392d04423a
chore: ignore loop of asserts on NDEBUG
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
abfb9b18e4
chore: remove benches
5 years ago
Sean McBride
f99050706e
chore: simplify Makefile prefix
5 years ago
Sean McBride
f6bc233e83
chore: change sledge prefix
5 years ago
Sean McBride
6b4ae2515f
chore: rename Awsm prefix
5 years ago
Sean McBride
c4aed4ed0e
chore: re-add CHAR_BIT
5 years ago
Sean McBride
72987914a9
chore: remove extraneous defines
5 years ago
Sean McBride
f66ecf96f9
chore: revert CHAR_BIT
5 years ago
Sean McBride
003d6c6311
chore: remove sf tests, comment out unused defines
5 years ago
Sean McBride
763de413ac
chore: makefile cleanup
5 years ago
Sean McBride
5f7eb10893
chore: fix missing newline
5 years ago
Sean McBride
142a57dbb6
chore: make cleanup
5 years ago
Sean McBride
920ba73f73
chore: missing assert and defines
5 years ago
Sean McBride
61f28e3ed7
chore: fix missing assert
5 years ago
Sean McBride
09e27354f3
chore: restore missing thirdparty Makefile
5 years ago
Sean McBride
98217780b5
chore: cleanup submodules
5 years ago
Sean McBride
bd78bccb38
chore: first rename pass
5 years ago
Sean McBride
4b107f3033
chore: cleanup debuglog file logic
5 years ago
Sean McBride
0707f44989
chore: enforce that buffer is power of 2
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
8e36412944
choe: add util to detect if worker
5 years ago
Sean McBride
94a95c826d
fix: add missing header
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
eb491a9018
chore: add always inline attributes
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
phani
1370c9f3e1
changes in aarch64 for context variant
...
* Tested fibonacci with 10 and 20 seperately
* Tested fibonacci multi that are in tests/preemption with client1 and
client2 requests.
* Observed a bug in the response: The respone also includes request
headers/body in it, needs to be addressed.
5 years ago
Sean McBride
cc88f82958
docs: clarify context switch documentation
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
61fd015254
docs: add commet to mcontext restore
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
8c3ccc8f14
docs: fix zombie comment
5 years ago
Sean McBride
859e87f425
refactor: remove extraneous zeroing out
5 years ago
Sean McBride
3f4567ea6e
docs: remove restore comment about IP of 0
5 years ago
Sean McBride
24beddd369
docs: preemption does not use fastpasth restore
5 years ago
Sean McBride
5dc987c301
chore: remove extra memset
5 years ago
Sean McBride
42566b1c6e
chore: comment context variants and use running
5 years ago
Sean McBride
bbc8d05ec9
refactor: remove erronious error check
5 years ago
Sean McBride
9dc6d8dd8a
refactor: arch_context_unused error handling
5 years ago
Sean McBride
9a963f1d0c
refactor: rename confusing function name
5 years ago
Sean McBride
f51fd1ef80
docs: remove redundant comment
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
64dc49a0fc
docs: Justify additional common.h file
5 years ago
Sean McBride
68c767254a
docs: fix case in comment
5 years ago
Sean McBride
20588eb489
refactor: remove extra asserts in SIGUSR1
5 years ago
Sean McBride
31c3a9329a
refactor: rename QUICK to FAST
5 years ago
Sean McBride
8614a838f8
docs: fix comment block
5 years ago
Sean McBride
6b9919ddf5
chore: comment out debug flag
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
236e39b263
refactor: DRY arch_context code
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
a9423b104c
chore: wrap multiline if
5 years ago
Sean McBride
1ae6acbbee
fix: correct bug and harden error handling
5 years ago
Sean McBride
1c65516164
chore: log invalid module errors
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
1487614863
chore: refactor out u8
5 years ago
Sean McBride
7f9ffe236e
chore: refactor out u8
5 years ago
Sean McBride
59c44f90e6
chore: refactor out i16
5 years ago
Sean McBride
6b1880077a
chore: refactor out u16
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
df043c5a4a
chore: assert preemp disabled on mcontext restore
5 years ago
Sean McBride
3d9829e6b3
chore: clean up get sandbox in minheap preempt
5 years ago
Sean McBride
bb4e5467e8
docs: change TODO to FIXME in libuv cb
5 years ago
Sean McBride
a19955f023
fix: Make userspace registers explicit integers
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
948947dec8
chore: merge changes from other branch
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
0d1d73018a
docs: remove redundant comments in types.h
5 years ago
Sean McBride
50c46ae8e9
docs: better comment wasm init funcs
5 years ago
Sean McBride
58a38016b1
chore: sandbox member cache->sandbox context cache
5 years ago
Sean McBride
fbea46b84f
chore: add newline to panic function
5 years ago
Sean McBride
613ed72ee5
chore: flatten x64 mcontext restore else
5 years ago
Sean McBride
5c4bd98f54
chore: Improve munmap error handling
5 years ago
Sean McBride
39fea2db44
tests: Improve debug script
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