Sean McBride
d95f25c46d
refactor: sandbox stack
4 years ago
Sean McBride
13a997cb80
refactor: wasm memory
4 years ago
Sean McBride
938f1a8950
refactor: Strip out sandbox fds
4 years ago
meilier
dd627856d4
correct wrong paper publication time
4 years ago
Emil
9778db645a
Fixed the Dynamic read of the Number of CPU Cores ( #261 )
...
* Fixed the Dynamic read of the Number of CPU Cores
Closes #260
* removed a commented line
* small changes per Sean's review
* Accomadate Gabe's comments:
- Validate runtime_worker_threads array before usage
- final cleanup
4 years ago
Sean McBride
e4f0bcf8f7
refactor: streamline perf log logic
4 years ago
Sean McBride
a221d7938b
chore: shift off core 0
4 years ago
Sean McBride
7f8a11f2d5
feat: Round robin for FIFO preemption
4 years ago
Sean McBride
69b2a476d4
docs: remove useless comments
4 years ago
Sean McBride
d3a418f6fb
doc: Related TODO to GitHub issue
4 years ago
Sean McBride
e798474982
chroe: remove extra header in AARCH64
4 years ago
Sean McBride
b924ed812d
feat: Simplify softint disable logic
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
0b6e8e891f
refactor: Additional static inlines
4 years ago
Sean McBride
064dac1aaf
refactor: assorted header cleanup
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
eeb498c0a0
refactor: perf window t in admissions info header
4 years ago
Sean McBride
8567da117b
chore: decompose arch context t
4 years ago
Sean McBride
f42ada6eca
refactor: Decompose arch common header
4 years ago
Sean McBride
ffff81957f
refactor: Decompose perf window header
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
...
refactor: module db capacity
4 years ago
Sean McBride
e42a04b2ce
refactor: module db capacity
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
71f74ff535
refactore: reorder local runqueue
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
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
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
375ce5019f
chore: Resolve some undefined sanitizer type nits
4 years ago
Sean McBride
b510214e37
fix: Make module reference count atomic
4 years ago
Sean McBride
e1f7dbe6c3
fix: type error and typo
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
21d0f28572
chore: Fix missing csv comma
4 years ago
Sean McBride
1517db0759
fix: Correct implicit pointer cast
4 years ago
Sean McBride
65e8b27775
chore: Mask ARM source if not AARCH64 not defined
4 years ago
Sean McBride
661748afe4
feat: Basic memory profiling
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
0d44e473e3
chore: formatting nits
4 years ago
Sean McBride
e771e7e1e0
feat: add memory to sandbox log
4 years ago
Sean McBride
192f539f36
test: Improve Image resize
4 years ago
Sean McBride
1a828a4a40
chore: Add issue for context restore new
4 years ago
Sean McBride
57af991ecc
chore: add issue for fixme
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
bcb00b4e1c
chore: log invalid context
4 years ago
Sean McBride
b61da62c2b
chore: fix missing include
4 years ago
Sean McBride
aa224d1ac1
chore: make quantum smaller
4 years ago
Sean McBride
6554e6d1fe
fix: correct sloppy overflow
4 years ago
Sean McBride
f8d3a0c991
docs: Update zombie funciton comment
4 years ago
Sean McBride
240a1af6c7
chore: update extern to match integral MHz
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
25b67841e4
chore: rename state in unhygienic lock macros
4 years ago
Sean McBride
f7df3c876e
chore: assorted socket 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
46f597a78c
fix: correct http-parser bug
4 years ago
Sean McBride
7ca1f8e63d
docs: Remove incorrect comment
4 years ago
Sean McBride
25d746c2e4
feat: WIP
4 years ago
Sean McBride
ef777c2705
refactor: set flags to bool
4 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
bf6b5d3c61
fix: cleanup lock API
5 years ago
Sean McBride
3c7e062548
refactor: cleanup module DB
5 years ago
Sean McBride
e0a80711f9
chore: Simplify module db add
5 years ago
Sean McBride
92c17d7717
chore: Assorted debugging enhancements
5 years ago
Sean McBride
f93a18e685
chore: change perror to debuglog
5 years ago
Sean McBride
e91f9feb8e
fix: disable interrupts when lock is held
5 years ago
Sean McBride
6c718dfa6e
chore: Stop adding to unused database
5 years ago
Sean McBride
a7293a7a0a
feat: non-blocking listener core
5 years ago
Sean McBride
0787b27b4f
fix: correct module db errors
5 years ago
Sean McBride
019130b43c
chore: Cleanup module_database_dd
5 years ago
Sean McBride
296a907107
docs: better document epoll backlog
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
01d32c19f8
chore: replace asserts with abort to be use NDEBUG
5 years ago
Sean McBride
04e63c2a02
chore: panic on recursive softint disables
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
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
e445e76870
feat: add ability to reject request
5 years ago
Sean McBride
76ba308c16
feat: Initial MVP of admissions control
5 years ago
Sean McBride
142a57dbb6
chore: make cleanup
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
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
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
eca1546f7a
chore: improved logging
5 years ago
Sean McBride
465b820326
chore: static inline sandbox_state_stringify
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
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
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
64dc49a0fc
docs: Justify additional common.h file
5 years ago
Sean McBride
68c767254a
docs: fix case in comment
5 years ago
Sean McBride
31c3a9329a
refactor: rename QUICK to FAST
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
080c3d6656
chore: simplify RCs
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
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
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
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
948947dec8
chore: merge changes from other branch
5 years ago
Sean McBride
02d60a740d
chore: add trailing newlines
5 years ago
Sean McBride
324253095d
refactor: clarify interval duration is not macro
5 years ago
Sean McBride
47f24b6952
fix: namespace sandbox states
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
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
dfb1c65e93
fix: push PQ error handling to caller
5 years ago
Sean McBride
7384b2de1e
fix: harden panic logic
5 years ago
Sean McBride
68e91a8853
chore: combine thread locals into struct
5 years ago
Sean McBride
1c2aa448cd
chore: rename scheduler interfaces and variants
5 years ago
Sean McBride
0eb474a8d7
chore: replace app header guards w pragma once
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
ab41672359
docs: remove extraneous comment
5 years ago
Sean McBride
08fecb21d1
docs: fixing additional multiline comment
5 years ago
Sean McBride
3dd4a6857d
docs: fix multi-line comment
5 years ago
Sean McBride
29201f737d
docs: Use style guide format for comments
5 years ago
Sean McBride
cf42133127
chore: add explicit curly braces
5 years ago
Sean McBride
94f69a912c
docs: better inline comment
5 years ago
Sean McBride
b8a0e28d11
chore: cleanup sandbox logic
5 years ago
Sean McBride
c0d82db22b
fix: Correct memory leak and general cleanup
5 years ago
Sean McBride
fa5f254af1
chore: remove extraneous log
5 years ago
Sean McBride
06dbd3cd21
chore: remove redudant typedef
5 years ago
Sean McBride
218893ed3b
feat: Non-crashing demo state
5 years ago
Sean McBride
3caecadefe
feat: Implement peek in ps
5 years ago
Sean McBride
eef45c5983
chore: correct endif comment
5 years ago
Sean McBride
996c147928
fix: correct runqueue cleanup bug
5 years ago
Sean McBride
83ee42e89b
chore: break up runtime and worker_thread
5 years ago
Sean McBride
4d29585236
chore: demonstrate priority
5 years ago
Sean McBride
61c7ccea0c
feat: implement PQ-based runqueue
5 years ago
Sean McBride
f5f9c168c6
chore: Simplify worker scheduling
5 years ago
Sean McBride
307f7c0d59
chore: encapsulte http_parser_settings
5 years ago
Sean McBride
321e26577d
chore: replace in_interrupt with bool
5 years ago
Sean McBride
d42370c357
chore: simplify sandbox_allocate
5 years ago
Sean McBride
c2c6332bc1
chore: encapsulate completion queue
5 years ago
Sean McBride
dafa257273
chore: encapsulate current_sandbox
5 years ago
Sean McBride
403b167a7e
chore: refactor out sandbox_run_queue
5 years ago
Sean McBride
6a7bbc2e97
feat: add deadline logic
5 years ago
Sean McBride
6478ff9b84
feat: WIP ps
5 years ago
Sean McBride
4386b00479
chore: fix zombie comment
5 years ago
Sean McBride
6eb5825b55
refactor: implement sandbox request interface
5 years ago
Sean McBride
34d91cfa21
refactor: wrap existing request queue
5 years ago
Sean McBride
d14af73c30
chore: remove unused types
5 years ago
Sean McBride
0ace3119e6
chore: revert to __getcycles
5 years ago
Sean McBride
a949cbebe3
chore: refactor double underscores
5 years ago
phani
7ff05b9d73
making it work for aarch64 - seem to work on RPi
...
* changes to be fully tested!
* cas etc needs to be implemented for aarch64
5 years ago
Sean McBride
178bef818f
feat: add relative_deadline_us to json and module
5 years ago
Sean McBride
0bd22a2e9c
chore: de-dunder module_database
5 years ago
Sean McBride
a70a83326c
chore: de-dunder worker_thread
5 years ago
Sean McBride
a771b78a92
chore: de-dunder software_interrupt
5 years ago
Sean McBride
fefd80d6a9
chore: de-dunder sandbox
5 years ago