Sean McBride
|
3b05fb647c
|
test: empty
|
3 years ago |
Sean McBride
|
81b78fe395
|
test: deadline description
|
3 years ago |
Sean McBride
|
3d1431316e
|
chore: clang-format nit 2
|
3 years ago |
Sean McBride
|
36ac367491
|
chore: clang-format nit
|
3 years ago |
Sean McBride
|
05dde38ea2
|
feat: dynamic http buffers
|
3 years ago |
Sean McBride
|
69a6cbaa46
|
fix: Correct tenant listen bug
|
3 years ago |
Sean McBride
|
01cca785f4
|
feat: partial tenant implementation
|
3 years ago |
Sean McBride
|
7a62b154fc
|
refactor: refactor TCP into module
|
3 years ago |
Sean McBride
|
6965b2906d
|
feat: Preliminary routes
|
3 years ago |
Sean McBride
|
eb2ba85760
|
Merge branch 'master' of github.com:gwsystems/sledge-serverless-framework into http-parsing-listener
|
3 years ago |
Sean McBride
|
3c6477857e
|
feat: Parse HTTP request on listener core
|
3 years ago |
Sean McBride
|
160b38e4dd
|
refactor: Allocate http_session on listener
|
3 years ago |
Sean McBride
|
80b4d0e99c
|
refactor: http_session
|
3 years ago |
Sean McBride
|
64d67185f6
|
refactor: keys global const array
|
3 years ago |
Sean McBride
|
012c67457f
|
refactor: Resize back to original size
|
3 years ago |
Sean McBride
|
e6b4119652
|
refactor: JSON_TOKENS_CAPACITY
|
3 years ago |
Sean McBride
|
8f2f18722d
|
refactor: change load_file_into_buffer err
|
3 years ago |
Sean McBride
|
ed048e1219
|
refactor: Remove extraneous assertion
|
3 years ago |
Sean McBride
|
252ed746ed
|
fix: has_valid_size use expected_size
|
3 years ago |
Sean McBride
|
c7758bbb00
|
refactor: Abstract sandbox from http-parser
|
3 years ago |
Sean McBride
|
ee24d1f5b0
|
refactor: http-session
|
3 years ago |
Sean McBride
|
423e11c036
|
Merge branch 'master' of github.com:gwsystems/sledge-serverless-framework into json-refactor
|
3 years ago |
Sean McBride
|
cbb004cae6
|
Merge pull request #325 from gwsystems/fix-scheduler-types
feat: Improve behavior when scheduling structures fill up
|
3 years ago |
Sean McBride
|
4a301588bb
|
fix: json_buf memory leak
|
3 years ago |
Sean McBride
|
c9fc627375
|
fix: double free
|
3 years ago |
Sean McBride
|
1457f6f2a8
|
refactor: init with module_config
|
3 years ago |
Sean McBride
|
e4c063a209
|
fix: extern module_listen
|
3 years ago |
Sean McBride
|
7f038f1269
|
refactor: jsonint parsing and module validation
|
3 years ago |
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
|
438b7650ba
|
refactor: Move validation to module_alloc
|
3 years ago |
Sean McBride
|
74a3270cb0
|
refactor: load_file_into_buffer
|
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
|
69bdf5b49b
|
feat: grow local runqueue if full
|
3 years ago |
Sean McBride
|
823c46f6f8
|
feat: return 429 if request queue full
|
3 years ago |
Sean McBride
|
362bf39047
|
refactor: sandbox struct in req queue
|
3 years ago |
Sean McBride
|
d93b224d4d
|
chore: cleanup args logic
|
3 years ago |
Sean McBride
|
6eab1e7015
|
feat: query params to wasi args
|
3 years ago |
Sean McBride
|
d05a58af75
|
feat: module name as first argument
|
3 years ago |
Sean McBride
|
255461198d
|
fix: wasi args
|
3 years ago |
Sean McBride
|
b101e8bcda
|
feat: Remove exit trap
|
3 years ago |
Sean McBride
|
135ba6105f
|
chore: update wasm apps
|
3 years ago |
Sean McBride
|
ac374e72fd
|
feat: unreachable trap support
|
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
|
4b1aec0788
|
fix: global_request_scheduler_deque_add type
|
3 years ago |
Sean McBride
|
37a203c774
|
fix: unmask SIGFPE handler no preemption
|
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
|
02187fefc5
|
Merge pull request #308 from gwsystems/valgrind-nits
Valgrind nits
|
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
|
bd94d0e645
|
fix: Check heap allocations
|
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
|
9cef2280bc
|
refactor: Remove unused value
|
3 years ago |
Sean McBride
|
ece929ebe9
|
chore: Remove fd logs
|
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
|
1cb220f348
|
fix: Correct globals bugs
|
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
|
31226d5bdd
|
refactor: Move tests
|
3 years ago |
Sean McBride
|
ffc7573ec9
|
fix: Resolve wasmception build issues
|
3 years ago |
Sean McBride
|
ea728b013b
|
chore: Move apps
|
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
|
d562a9315d
|
refactor: Shift module valildation to JSON parsing
|
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
|
e1cb478262
|
fix: Correct sandbox free stack logic
|
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
|
13b123866f
|
refactor: reorder memory_instructions
|
3 years ago |
Sean McBride
|
22d3890e06
|
fix: correct error handling wasm_stack
|
3 years ago |
Sean McBride
|
f1e1e852ae
|
build: Makefile cleanup
|
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
|
5efee76cae
|
refactor: header include nit
|
3 years ago |
Sean McBride
|
13e8407884
|
chore: Adjust memory path
|
3 years ago |
Sean McBride
|
ded4717ed8
|
docs: Create compiletime README
|
3 years ago |
Sean McBride
|
93a7ed0017
|
chore: format nit
|
3 years ago |
Sean McBride
|
3259808b57
|
Merge branch 'tests-makefile-cleanup' into spec-alignment
|
3 years ago |
Sean McBride
|
1f25f3dbd1
|
build: Update test.sh install logic
|
3 years ago |
Sean McBride
|
01bca00be4
|
build: Makefile cleanup
|
3 years ago |
Sean McBride
|
1a34f91cdd
|
refactor: table instructions
|
3 years ago |
Sean McBride
|
bb41caeae0
|
refactor: Remove zombie table instruction
|
3 years ago |
Sean McBride
|
30c3d17a2c
|
refactor: Rename memory_instructions
|
3 years ago |
Sean McBride
|
9bc023bd1b
|
chore: rename instr
|
3 years ago |
Sean McBride
|
8d563a5f53
|
refactor: Further sigalrm changes
|
3 years ago |
Sean McBride
|
9b7cefccd7
|
refactor: Cleanup sigalrm handler
|
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
|
3982c2db5a
|
build: Revert sledgert command
|
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
|
c845bcce8e
|
fix: Correct nit when NDEBUG is set
|
3 years ago |
Sean McBride
|
45e44d51de
|
feat: enable direct fast switch between sandboxes
|
3 years ago |
Sean McBride
|
74a715febb
|
fix: Update state assertion in FIFO round robin
|
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
|
9bd12e5403
|
fix: Correct valid state in sandbox init error
|
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 |