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
Sean McBride
bfe19dce69
fix: assorted small priority queue fixes
5 years ago
Sean McBride
2d03fe390b
chore: remove blank line to clarify unit
5 years ago
Sean McBride
bd584b164c
chore: clean up ternary
5 years ago
Sean McBride
3bfb3859c1
docs: Improved description of context switch
5 years ago
Sean McBride
29201f737d
docs: Use style guide format for comments
5 years ago
Sean McBride
da0588ea32
chore: make demo workloads more realistic
5 years ago
Sean McBride
5327e6d18b
chore: rename module function
5 years ago
Sean McBride
b8a0e28d11
chore: cleanup sandbox logic
5 years ago
Sean McBride
ebfe8856bc
docs: minor comment improvements
5 years ago
Sean McBride
c0d82db22b
fix: Correct memory leak and general cleanup
5 years ago
Sean McBride
0e6c77d923
chore: align lifetimes for shortcuts
5 years ago
Sean McBride
653af014a7
fix: cleanly handling preemption
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
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
db2372f02f
chore: make signal handler more verbose
5 years ago
Sean McBride
307f7c0d59
chore: encapsulte http_parser_settings
5 years ago
Sean McBride
d08e3b7f54
chore: refactore flags to bools
5 years ago
Sean McBride
321e26577d
chore: replace in_interrupt with bool
5 years ago
Sean McBride
82f79b1ed4
chore: simplify event loop
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
0de94ed7c2
chore: cleanup additional run_queue logic
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
f8d74bdfed
chore: small refactors
5 years ago
Sean McBride
828b368a7c
chore: remove zombie comment
5 years ago
Sean McBride
1999a97c8f
feat: Implement basic ps for sandbox requests
5 years ago
Sean McBride
6a7bbc2e97
feat: add deadline logic
5 years ago
Sean McBride
6478ff9b84
feat: WIP ps
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
13deee2531
chore: remove cycle time printf
5 years ago
Sean McBride
0ace3119e6
chore: revert to __getcycles
5 years ago
Sean McBride
a949cbebe3
chore: refactor double underscores
5 years ago
phani
a72e702c77
update env.c to use ck api
5 years ago
phani
37db945637
TODO: use CK? for env.c
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
Sean McBride
ba032a5905
chore: de-dunder runtime
5 years ago
Sean McBride
4d660e666b
chore: de-dunder listener thrd, module, libuv cbs
5 years ago
Sean McBride
3e90b26243
chore: de-dunder http_response
5 years ago
Sean McBride
06de754885
chore: de-dunder current_sandbox
5 years ago
Sean McBride
4615c4736d
chore: de-dunder http_parser_settings
5 years ago
Sean McBride
d64ca75c4e
chore: de-dunder current_sandbox
5 years ago
Sean McBride
0271f4a48d
chore: fix consistent delimiter in module_database
5 years ago
Sean McBride
b5439ab922
chore: fix inadvertant double prefix
5 years ago
Sean McBride
5694366c96
chore: align consecutive macros
5 years ago
Sean McBride
9dfc740d05
chore: namespace macros and globals in main.c
5 years ago
Sean McBride
3cbb7f0748
chore: rename nested namespaces pending refactor
5 years ago
Sean McBride
2640f3a44f
chore: rename single_loop to be descriptive
5 years ago
Sean McBride
25bdc18118
chore: rename sigint to signal_interrupt in files
5 years ago
Sean McBride
7ba5a3acbe
chore: rename softint to software_interrupt
5 years ago
Sean McBride
21d9cd11fe
chore: flatten http directory
5 years ago
Sean McBride
46a2fcfbc4
chore: rename handles to be more descriptive
5 years ago
Sean McBride
439bd523b8
chore: namespace runtime.h functions
5 years ago
Sean McBride
346c391ece
feat: Improve wasm string null-termintor checks
5 years ago
Sean McBride
c9b9a6553e
chore: run clang-format
5 years ago
Sean McBride
2805934d49
docs: add warning to sandbox exit function
5 years ago
Sean McBride
055d76e0ae
fix: correct rdtsc edits
5 years ago
Sean McBride
07d2c8daaf
chore: sandbox.h cleanup
5 years ago
Sean McBride
2d9a3925cd
chore: namespace runtime.c
5 years ago
Sean McBride
70d87fcb51
chore: partial namespace of runtime
5 years ago
Sean McBride
ef0056a511
chore: fix provide module_database includes
5 years ago
Sean McBride
7f858d69dd
chore: namespace runtime state
5 years ago
Sean McBride
3d96b0ed95
chore: namespace and comment softint stuff
5 years ago
Sean McBride
d6c31f6728
chore: namespace rdtsc
5 years ago
Sean McBride
08eb26e984
chore: move module json parsing to module
5 years ago
Sean McBride
a29f36ca13
chore: decompose current_sandbox.h
5 years ago
Sean McBride
338e1e3667
chore: delete zombie http.c file
5 years ago
Sean McBride
1800d0ab31
chore: move parser_settings to http directory
5 years ago
Sean McBride
5e937fc204
chore: decompose http
5 years ago
Sean McBride
f471011776
chore: cleanup http
5 years ago
Sean McBride
b0ae9ba266
chore: cleanup sandbox_request
5 years ago
Sean McBride
75a34360b8
chore: Assorted cleanup
5 years ago
Sean McBride
b896f6f1b1
chore: move rdtsc to util
5 years ago
Sean McBride
dc9677e41f
chore: partial sandbox cleanup
5 years ago
Sean McBride
cbd64d1f91
chore: refactor out libuv cbs
5 years ago
Sean McBride
4178e4f9bc
chore: partial sandbox cleanup
5 years ago
Sean McBride
b67860112f
chore: cleanup util
5 years ago
Sean McBride
7da1f4a284
chore: cleanup softint
5 years ago
Sean McBride
d979a74986
chore: better organize module
5 years ago
Sean McBride
28ab7d43c4
chore: refactor module_database into distinct file
5 years ago
Sean McBride
71a6ee1633
chore: cleanup http namespace
5 years ago
Sean McBride
e28947a391
refactor: namespace module functions
5 years ago
Sean McBride
dfe5667bef
chore: resolve TODOs from Phani
5 years ago
Sean McBride
1d724f04e8
refactor: Shift sandbox_request to new file
5 years ago
Sean McBride
ea888ddbb3
chore: assorted refactors
5 years ago
Sean McBride
9762477902
chore: assorted refactors
5 years ago
Sean McBride
c1c307c390
chore: cleanup runtime
5 years ago
Sean McBride
267a04350f
chore: complete modules cleanup
5 years ago
Sean McBride
1f988bd113
chore: complete HTTP cleanup
5 years ago
Sean McBride
4a80e6dd70
chore: assorted refactors
5 years ago
Sean McBride
2220cf34a0
chore: rerun formatter
5 years ago
Sean McBride
c4142c00f1
chore: more cleanup
5 years ago
Sean McBride
0c85cd4102
chore: Assorted cleanup
5 years ago
Sean McBride
862143f37a
chore: clean up interrupt logic
5 years ago
Sean McBride
3d6266750e
chore: assorted refactors
5 years ago
Sean McBride
63a6e702d9
chore: cleanup JSON parsing logic
5 years ago
Sean McBride
69086d012d
Various refactors and end-to-end tracking of cycles
5 years ago
Sean McBride
d058f99e0f
feat: Assign start_time to sandbox
5 years ago
Sean McBride
b0434ac941
build: remove STANDALONE, SBOX_SCALE_ALLOC, USE_LIBUV flags
5 years ago
Sean McBride
ae93435e2a
refactor: Assorted refactors and add start_time to request
5 years ago
Sean McBride
6946b08644
refactor: modularize and rename things
5 years ago
Sean McBride
565a03db5d
refactor: make resource limits function
5 years ago
Sean McBride
b5e9abced5
chore: Assorted cleanup
5 years ago
Sean McBride
9185852236
docs: Add documentation to code ( #7 )
5 years ago
Sean McBride
e61be257f9
chore: add clang-format from Composite ( #5 )
...
* chore: add clang-format from Composite
* chore: cleanup JSON
* chore: add clang-format from Composite
* chore: stylistic corrections
* chore: ignore swap files and vscode conf
* chore: check semver of clang-format and require 9
5 years ago
phani
0c92419978
fixed syscall based sync http-req/resp
5 years ago
phani
b9d7278c54
fixes 99% latency problem here (but a problem with 1m data transfer test, it is broken.)
5 years ago
phani
362e8b0a67
Merge branch 'master' of https://github.com/phanikishoreg/awsm-Serverless-Framework
5 years ago
phani
da43b22407
work 1k to 1m functions
5 years ago
phani
9528f65b32
Synchronous I/O for http request/response fixes 99%tile latencies
...
* Async I/O is being used for reading and writing http request and
response respectively. This causes the worker core to steal new tasks as
when one sandbox blocks on "read" or "write". This causes true
round-robin on timer interrupts, leading to those high latencies.
* Ideally, the request/response should be synchronous I belive because
we are expected to have "low"/near-realtime latencies and the read/writes
are only performed when a client connects, so ideally not block!
Plus, we expect only small data transfers (in KBs) so that should also
support synchronous request/response processing.
5 years ago