Sean McBride
a07533bd2c
refactor: move tok advance and add assumption
3 years ago
Sean McBride
68bf915c02
refactor: Improve JSON validation logs
3 years ago
Sean McBride
e27ffa5620
refactor: break JSON parsing out from module.c
3 years ago
Sean McBride
b79eb44958
refactor: move JSON file loading from module
3 years ago
Sean McBride
087b984e54
Merge pull request #332 from gwsystems/validate-socket-err-handler
...
doc: Remove TODO comment
3 years ago
Sean McBride
e62fb9817f
fix: correct type nit
3 years ago
Sean McBride
77f63c15de
feat: stub for sock_accept
3 years ago
Sean McBride
4b076e6798
doc: Remove TODO comment
3 years ago
Sean McBride
3aaa7737df
fix: handle NULL from realloc
3 years ago
Sean McBride
3b92963868
refactor: priority_queue_grow_nolock
3 years ago
Sean McBride
8a170e1a64
refactor: Move grow logic into PQ API
3 years ago
Sean McBride
08a0f03cd5
refactor: change PQ capacity to exclude 0th elem
3 years ago
Sean McBride
362bf39047
refactor: sandbox struct in req queue
3 years ago
Sean McBride
6eab1e7015
feat: query params to wasi args
3 years ago
Sean McBride
135ba6105f
chore: update wasm apps
3 years ago
Sean McBride
cac0b32520
Merge pull request #318 from gwsystems/sigfpe-wasm-trap
...
feat: sigfpe and sigsegv wasm traps
3 years ago
Sean McBride
7a9b2ce938
feat: linear memory OOB via SIGSEGV handler
3 years ago
Sean McBride
a0474d34f2
chore: Remove zombie macros
3 years ago
Sean McBride
62a8dafa7c
feat: sigfpe wasm traps
3 years ago
Sean McBride
908cdefa3b
fix: Remove memory size from perf log
3 years ago
Sean McBride
5bee5bf6bd
Merge pull request #306 from gwsystems/dynamically-size-global-table
...
feat: Dynamically size runtime globals
3 years ago
Sean McBride
85294ccd96
fix: Correct error handling get_globals_len
3 years ago
Sean McBride
cf2d136c81
refactor: stack use mprotect
3 years ago
Sean McBride
15c6606353
refator: replace malloc with calloc
3 years ago
Sean McBride
2be838b11e
fix: PAGE_SIZE used before defined
3 years ago
Sean McBride
d1009f4987
fix: flipped calloc args
3 years ago
Sean McBride
2c64f7ed41
refactor: Add missing header
3 years ago
Sean McBride
32469bf1ab
fix: state history not flexible array member
3 years ago
Sean McBride
5f5d99952a
fix: invalid dereference of array in memset
3 years ago
Sean McBride
ba21a7f09c
fix: Use default content type if needed
3 years ago
Sean McBride
54f36f8471
feat: Dynamically size runtime globals
3 years ago
Sean McBride
eb74a306ff
Wasm traps ( #301 )
...
* feat: Preliminary WASI with fib workload
* refactor: Clarify initialize globals
* chore: Update empty to WASI
* chore: cleanup fib test
* chore: cleanup build tooling
* chore: cleanup test Makefiles and some nits
* chore: Update LLVM and install WASI-SDK
* chore: Update build tools and specs
* docs: Update example module spec in README
* refactor: Clean up HTTP handling
* feat: Implement exit WASI call
* style: apply clang-format
* ci: rewrite compile sledge step
* build: Remove LLVM install shims
* build: Try manually adding libunwind
* build: Try adding libunwind-dev
* ci: break out aWsm compile step
* fix: Correct test build error
* fix: Correct error in WASI fd_write
* chore: Increase gocr http buffer size
* test: Correct image resize test
* chore: Remove zombie wasmception functions
* chore: Reduce dummy args to single arg
* chore: Add debugging makefile fivebyeight
* chore: Remove erronious PHONYs in tests Makefile
* ci: Disable gocr tests
* chore: Add wat Make rule to fibonacci test
* chore: fix apt package name
* chore: Enable clean of failed ck install
* chore: use LLVM 12
* test: Disable gocr tests
* chore: Enhance test makefile
* chore: Add CFILES as sledgert dep
* chore: Add NULL check for function table pointer
* chore: Add missing header
* chore: uncomment cleanup in imageresize test
* refactor: Remove unused linear memory functions
* build: Add bimodal debug makefile
* chore: Add linear memory debug logs
* refactor: Cleanup region initialization
* build: Correct PHONY in runtime Makefile
* chore: deb install script for outside of container
* refactor: Remove zombie extern.
* feat: WebAssembly traps
* refactor: Use C18 features
* chore: Remove git diff annotations
* fix: tweaks to run all sample apps with WASI
* test: convert shell script to Makefile
* build: clean generated ck Makefile
* chore: Use awsm branch with fixes
* chore: Revert name changes
* fix: Correct type issues
* refactor: Reverse additional name change
* refactor: Remove awsm compat shims
* chore: Remove libc association
* build: Better detect header file changes
* refactor: current_wasm_module_instance_trap
* test: reenable tests
* chore: Delete copied script
* build: Fix test workloads
* fix: Implement HTTP 500
* fix: Protect against overflow on comparison
* build: Replace test.sh with makefile
* refactor: blow away tmp directory conflicts
* refactor: centralize wasm in single submodule
* feat: libsledge and sledge ABI
* chore: move tests
* refactor: tests
* chore: update wasm_apps with new sample data
* doc: Initial ABI README
* feat: globals table
* docs: Merge aWsm ABI docs
* docs: libsledge ABI
* build: rename apps to keep consistent
* build: Disable wasm proposals
* build: Update wasm apps and fix typo
* test: test makefiles
* test: Additional test makefiles
* build: top-level build and install rules wo Docker
* docs: Add wasm lld comment
* build: top level makefile
* chore: merge debug flags
* fix: Correct out of bounds error
* feat: indirection to awsm ABI
* fix: Correct link hack with proper flag
* fix: gps typo
* chore: format nit
* ci: update makefile rules
* ci: check WASI_SDK_PATH
* fix: Adjust paths
* ci: fix make rule name
* refactor: Attempt to use generic vec
* refactor: Remove type-specific vec
* fix: Resolve assorted TODOs
* chore: fix clang format issue
* ci: Invalidate app cache on libsledge changes
* fix: Correct wasm trap check
* fix: free wasm globals
* docs: example of running top level tests via make
* chore: option to log unsupported wasi
* test: add preempt client generator for fib bimodal
* refactor: Allocate wasm memory with 4096 align
* fix: Handle build without runtime globals
* refactor: bypass runtime call for first global
* fix: Correct sandbox logging
* test: fix incorrect paths in test.mk
* refactor: cleanup basic traps logic
* test: trap_divzero
* fix: Correct inverted trap control flow
* ci: Invalidate awsm cache
* ci: divide by zero trap
* chore: Assorted cleanup
* ci: Install httpie
* chore: Remove stdio calls in libsledge
* chore: update submodules
3 years ago
Sean McBride
7cacac64c0
WIP: WASI Support ( #267 )
...
* feat: Preliminary WASI with fib workload
* refactor: Clarify initialize globals
* chore: Update empty to WASI
* chore: cleanup fib test
* chore: cleanup build tooling
* chore: cleanup test Makefiles and some nits
* chore: Update LLVM and install WASI-SDK
* chore: Update build tools and specs
* docs: Update example module spec in README
* refactor: Clean up HTTP handling
* feat: Implement exit WASI call
* style: apply clang-format
* ci: rewrite compile sledge step
* build: Remove LLVM install shims
* build: Try manually adding libunwind
* build: Try adding libunwind-dev
* ci: break out aWsm compile step
* fix: Correct test build error
* fix: Correct error in WASI fd_write
* chore: Increase gocr http buffer size
* test: Correct image resize test
* chore: Remove zombie wasmception functions
* chore: Reduce dummy args to single arg
* chore: Add debugging makefile fivebyeight
* chore: Remove erronious PHONYs in tests Makefile
* ci: Disable gocr tests
* chore: Add wat Make rule to fibonacci test
* chore: fix apt package name
* chore: Enable clean of failed ck install
* chore: use LLVM 12
* test: Disable gocr tests
* chore: Enhance test makefile
* chore: Add CFILES as sledgert dep
* chore: Add NULL check for function table pointer
* chore: Add missing header
* chore: uncomment cleanup in imageresize test
* refactor: Remove unused linear memory functions
* build: Add bimodal debug makefile
* chore: Add linear memory debug logs
* refactor: Cleanup region initialization
* build: Correct PHONY in runtime Makefile
* chore: deb install script for outside of container
* refactor: Remove zombie extern.
* feat: WebAssembly traps
* refactor: Use C18 features
* chore: Remove git diff annotations
* fix: tweaks to run all sample apps with WASI
* test: convert shell script to Makefile
* build: clean generated ck Makefile
* chore: Use awsm branch with fixes
* chore: Revert name changes
* fix: Correct type issues
* refactor: Reverse additional name change
* refactor: Remove awsm compat shims
* chore: Remove libc association
* build: Better detect header file changes
* refactor: current_wasm_module_instance_trap
* test: reenable tests
* chore: Delete copied script
* build: Fix test workloads
* fix: Implement HTTP 500
* fix: Protect against overflow on comparison
* build: Replace test.sh with makefile
* refactor: blow away tmp directory conflicts
* refactor: centralize wasm in single submodule
* feat: libsledge and sledge ABI
* chore: move tests
* refactor: tests
* chore: update wasm_apps with new sample data
* doc: Initial ABI README
* feat: globals table
* docs: Merge aWsm ABI docs
* docs: libsledge ABI
* build: rename apps to keep consistent
* build: Disable wasm proposals
* build: Update wasm apps and fix typo
* test: test makefiles
* test: Additional test makefiles
* build: top-level build and install rules wo Docker
* docs: Add wasm lld comment
* build: top level makefile
* chore: merge debug flags
* fix: Correct out of bounds error
* feat: indirection to awsm ABI
* fix: Correct link hack with proper flag
* fix: gps typo
* chore: format nit
* ci: update makefile rules
* ci: check WASI_SDK_PATH
* fix: Adjust paths
* ci: fix make rule name
* refactor: Attempt to use generic vec
* refactor: Remove type-specific vec
* fix: Resolve assorted TODOs
* chore: fix clang format issue
* ci: Invalidate app cache on libsledge changes
* fix: Correct wasm trap check
* fix: free wasm globals
* docs: example of running top level tests via make
* chore: option to log unsupported wasi
* test: add preempt client generator for fib bimodal
* refactor: Allocate wasm memory with 4096 align
* fix: Handle build without runtime globals
* refactor: bypass runtime call for first global
* fix: Correct sandbox logging
* test: fix incorrect paths in test.mk
* refactor: remove wasm traps
* refactor: Revert additional traps and changes
* refactor: Remove additional traps
* refactor: Disable exit support
* fix: block preemption in memory allocation
* feat: wasm g0 write back
* build: cleanup applications Makefile
* chore: Reorder bash variables
* docs: Add comment explaining LOG_SANDBOX_STDERR
* fix: Remove tracking of nonpreemptive siglarms
* chore: Validate Linux, C, and POSIX requirements
* build: Dry up libsledge makefile
* refactor: Remove unused macros
* fix: Writeback global 0 on cooperative sched
* refactor: Fork WASI from aWsm uvwasi example
* build: remove awsm-wasi rules
* chore: clang-format 15
* ci: apt update
* chore: clang 13
* ci: use llvm script
* ci: Use LLVM 13
* refactor: Remove WASI indirection
3 years ago
Sean McBride
5d19891e63
feat: libsledge pattern for wasmception ( #299 )
...
* feat: libsledge pattern for wasmception
* ci: build libsledge
* ci: fix YAML whitespace issue
* ci: fix another YAML whitespace issue
* fix: Correct type issues in memcpy
* ci: debug permissions
* ci: restore build rules
* chore: Change wasmception init symbol
* chore: Assored cleanup
* fix: update g0 cache on preemption
* refactor: inline global vec in sandbox struct
* chore: trailing newline on JSON
* chore: Clean up extraneous file associations
* docs: Explain export and weak symbols
* docs: Remove comment
* refactor: Replace CHAR_BIT with limits.h
* refactor: Remove redundant unlikely define
* docs: Wasmception fn type checking disabled note
3 years ago
Sean McBride
4ba4cf4969
feat: Add new HTTP codes
3 years ago
Sean McBride
65434b15e5
feat: Abstract vec
3 years ago
Sean McBride
e89696d911
refactor: DRY up pool macro
3 years ago
Sean McBride
9eec575e9e
refactor: remove size_t from wasm_stack
3 years ago
Sean McBride
639fa953b6
docs: Better explain bounds check assertions
3 years ago
Sean McBride
35b83ba090
refactor: Eliminate _new and _delete functions
3 years ago
Sean McBride
fdaff6c666
docs: Add more inline docs about buffers
3 years ago
Sean McBride
7d91a9cfc0
refactor: rename self
3 years ago
Sean McBride
a044f8ec37
fix: redundant wasm memory wipe
3 years ago
Sean McBride
2a21db9a34
style: remove extra newline
3 years ago
Sean McBride
ba05a924d3
refactor: Align on doulbe cache line
3 years ago
Sean McBride
773dbf3f70
refactor: Align memory pools on cache lines
3 years ago
Sean McBride
b652613ece
refactor: Invert pool structure
3 years ago
Sean McBride
a446ed077a
Merge branch 'spec-alignment-2' of github.com:gwsystems/sledge-serverless-framework into object-pool
3 years ago
Sean McBride
452db10284
refactor: wasm_memory_get_string
3 years ago
Sean McBride
57d95388b1
refactor: wasm_table
3 years ago
Sean McBride
3cf4580b5d
refactor: wasm_memory
3 years ago
Sean McBride
4b1f9914f7
refactor: flatten http buffers
3 years ago
Sean McBride
ae48d1ace6
fix: Spell environment correctly
3 years ago
Sean McBride
acff35683a
fix: send_reponse err handling
3 years ago
Sean McBride
569fdd39ea
refactor: Use INLINE macro throughout compiletime
3 years ago
Sean McBride
b3dc7db31c
feat: wasm_stack object pool
3 years ago
Sean McBride
2311ec1ccf
feat: wasm_memory pool
3 years ago
Sean McBride
f51da123e2
fix: Corrected assorted bugs
3 years ago
Sean McBride
332b492761
refactor: mem instructions
3 years ago
Sean McBride
22d3890e06
fix: correct error handling wasm_stack
3 years ago
Sean McBride
e888a14e51
refactor: Eliminate sandbox request
3 years ago
Sean McBride
5e9c7d08d9
fix: debug assorting context switch issues
3 years ago
Sean McBride
f4ede43b52
feat: WIP restage of memory allocation features
3 years ago
Sean McBride
9b2f1905a5
docs: high level intro to scheduler
3 years ago
Sean McBride
098829113b
docs: Better explain memory barriers
3 years ago
Sean McBride
522809de8d
chore: pin clang-format 11
3 years ago
Sean McBride
84820219e0
format: clang-format
3 years ago
Sean McBride
886bdbb970
fix: Add interrupted perf log header
3 years ago
Sean McBride
45e44d51de
feat: enable direct fast switch between sandboxes
3 years ago
Sean McBride
06910736d1
feat: Improved sandbox timekeeping
3 years ago
Sean McBride
72e6c3e043
refactor: Cleanup deferred sigalrm handling
3 years ago
Sean McBride
ce132b7bcc
fix: Remove extra memory barriers
3 years ago
Sean McBride
132401177c
fix: protect preemption changes with mem barriers
3 years ago
Sean McBride
43592da622
feat: signal tracking and pretty printing
3 years ago
Sean McBride
cf5e6ea72d
feat: replay deferred sigalrms
3 years ago
Sean McBride
64e35f767e
Merge pull request #282 from gwsystems/http-resp-headers
...
feat: More detailed HTTP response headers
3 years ago
Sean McBride
f3326dc929
refactor: sandbox perf log
3 years ago
Sean McBride
89e0305b6f
feat: More detailed HTTP response headers
3 years ago
Sean McBride
fb7f657db4
fix: correct LOG_HTTP_PARSER buffer
3 years ago
Sean McBride
3ada5aa08a
refactor: Move triage logic to scheduler
3 years ago
Sean McBride
9ec668ec3e
refactor: rename state transitions
3 years ago
Sean McBride
3a60134d44
refactor: scheduler cleanup
3 years ago
Sean McBride
b8364bd53e
refactor: Remove preemptable
4 years ago
Sean McBride
7e85bb4c59
refactor: more semantic names
4 years ago
Sean McBride
7ccf845389
refactor: deadline updates to current_sandbox_set
4 years ago
Sean McBride
815546852c
feat: Modified scheduler state machine
4 years ago
Sean McBride
a61ac83575
chore: remove FIXME
4 years ago
Sean McBride
ebf6dc2e84
refactor: Use C18 features
4 years ago
Sean McBride
448befd8cd
refactor: Remove cyclic include
4 years ago
Sean McBride
c185c751bd
feat: -1 on wasm memory.grow instruction failure
4 years ago
Sean McBride
4751c52ede
fix: priority queue nits
4 years ago
Sean McBride
b2262245d4
fix: perf_window VLAs
4 years ago
Sean McBride
f61f34f08a
refactor: Clean up HTTP handling
4 years ago
Sean McBride
1757ac8e51
refactor: Clarify initialize globals
4 years ago
Sean McBride
7387a69f2d
refactor: module and ABI interface
4 years ago
Sean McBride
7a390562bd
refactor: Remove unused http-resp-headers
4 years ago
Sean McBride
813ff54bef
refactor: remove argsize and arguments
4 years ago
Sean McBride
0c887702e9
refactore: Remove inert http-req config
4 years ago
Sean McBride
ae533694e9
refactor: sandbox memory and module cleanup
4 years ago
Sean McBride
a5739f338d
refactor: sandbox state durations
4 years ago
Sean McBride
c80dfa1db5
refactor: sandbox timestamps
4 years ago
Sean McBride
8578176b98
refactor: move WASM macros to wasm_types.h
4 years ago
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