Commit Graph

68 Commits

Author SHA1 Message Date
zongmin.gu
a01b35ff5e Bump version to 0.25.0 2021-11-08 19:15:00 +08:00
zongmin.gu
59986df1a5 Bump version to 0.24.2 2021-10-22 17:16:52 +08:00
Hui, Chunyang
6dd73c64b5 Improve userspace VM management
Occlum is a single-address-space library OS. Previously, userspace memory are divided for each process.
And all the memory are allocated when the process is created, which leads to a lot of wasted space and
complicated configuration.

In the current implementation, the whole userspace is managed as a memory pool that consists of chunks. There
are two kinds of chunks:
(1) Single VMA chunk: a chunk with only one VMA. Should be owned by exactly one process.
(2) Multi VMA chunk: a chunk with default chunk size and there could be a lot of VMAs in this chunk. Can be used
by different processes.

This design can help to achieve mainly two goals:
(1) Simplify the configuration: Users don't need to configure the process.default_mmap_size anymore. And multiple processes
running in the same Occlum instance can use dramatically different sizes of memory.
(2) Gain better performance: Two-level management(chunks & VMAs) reduces the time for finding, inserting, deleting, and iterating.
2021-10-17 15:58:29 +08:00
zongmin.gu
c6d474bb7b Bump version to 0.24.1 2021-10-01 08:29:25 +08:00
zongmin.gu
85f9333fbe Bump version to 0.24.0 2021-09-15 14:49:25 +08:00
LI Qing
29eed82a7e Add support for the mode of fallocate 2021-09-01 19:24:22 +08:00
zongmin.gu
35229d495e Bump to 0.23.7 2021-08-11 16:13:26 +08:00
zongmin.gu
7c170807bc Bump to 0.23.6 2021-08-06 12:58:56 +08:00
zongmin.gu
22af91b9e7 Bump version to 0.23.5 2021-07-29 14:09:36 +08:00
zongmin.gu
1e03b34a3f Update Cargo lock file to align resolv-conf change 2021-07-29 14:09:36 +08:00
Hui, Chunyang
1acfec6b12 Add support for fchdir and support cd for fish 2021-07-28 09:11:19 +08:00
zongmin.gu
6adf171bf7 Bump version to 0.23.4 2021-07-21 21:19:31 +08:00
Hui, Chunyang
e0811a53d2 Bump version to 0.23.3 2021-07-19 19:08:01 +08:00
Hui, Chunyang
1e7d258989 Bump version to 0.23.2 2021-07-15 10:03:59 +08:00
Hui, Chunyang
6ff50da5be Bump version to 0.23.1 2021-06-25 21:12:42 +08:00
zongmin.gu
f961b786da Bump Occlum version to 0.23.0 2021-06-11 07:41:12 +08:00
zongmin.gu
3756f0658c Update rust-toolchain to nightly-2020-10-25 2021-06-04 11:59:11 +08:00
zongmin.gu
47349c8d1b Bump the Occlum version to 0.22.0 2021-04-16 09:34:26 +08:00
zongmin.gu
17fcaf85e1 Bump version to 0.21.0 2021-03-03 16:07:51 +08:00
Hui, Chunyang
1fab79681b Use goblin as elf parser and only load segments on demand
Libos now Only read in headers and needed segments. Also reduce a memory
copy.
2021-02-04 15:02:28 +08:00
zongmin.gu
fdde009e5d Bump Occlum version to 0.20.0 2021-01-22 17:36:53 +08:00
LI Qing
d6cd89f03b Add DevFS for device files 2021-01-20 11:40:39 +08:00
He Sun
b5ea09066a Add support for libos code coverage
1. Add OCCLUM_COV to conditionally enable gcov profiling for libos Rust
code;
2. Add a makefile target to locally generate the coverage report in html
format.
2021-01-19 15:30:26 +08:00
zongmin.gu
e304c9fa23 Bump version to 0.19.1 2021-01-13 11:09:16 +08:00
zongmin.gu
3cb3165f8b Bump Occlum version to 0.19.0 2020-12-19 19:53:31 +08:00
He Sun
3b915db774 Refactor Unix socket
1. Implement type-safe functions;
2. Improve the correctness of nearly all the functions;
3. Improve the readability by introducing Listener and Endpoint for StreamUnix;
4. Substitue RingBuf with Channel in Unix socket.
2020-12-16 01:28:53 +08:00
zongmin.gu
1f1502c7d5 Bump to 0.18.1 2020-12-03 10:57:22 +08:00
zongmin.gu
3163a62963 Bump version to 0.18.0 2020-11-20 09:24:24 +08:00
zongmin.gu
a5c2e553b7 Bump version to 0.17.0 2020-10-22 19:53:20 +08:00
Tate, Hongliang Tian
f5ae00895e Refactor pipe with the new event subsystem
1. Introduce channels, which provide an efficient means for IPC;
2. Leverage channels to rewrite pipe, improving the performance (3X),
robustness, and readability.

This pipe rewrite is not done: some more commits will be added to
implement poll and epoll for pipe.
2020-10-09 16:37:11 +08:00
Tate, Hongliang Tian
01dee44322 Bump version to 0.16.0 2020-09-18 15:40:04 +08:00
zongmin.gu
b28aee68b7 Upgrade Intel SGX SDK to 2.11 and Rust SGX SDK accordingly 2020-09-18 15:39:58 +08:00
Tate, Hongliang Tian
ccb5e6bef4 Bump version to 0.15.1 2020-08-21 00:19:57 +08:00
Tate, Hongliang Tian
3e3a1955af Bump version to 0.15.0 2020-08-15 19:19:53 +08:00
zongmin.gu
2ca5629b3d Save floating point registers in exception/interrupt flow 2020-08-15 19:12:40 +08:00
LI Qing
572873d9a4 Enable UnionFS 2020-07-23 21:40:34 +08:00
Tate, Hongliang Tian
55eaae8810 Bump version to 0.14.0 2020-07-18 06:36:59 +08:00
He Sun
c85163ec0a Add notification mechanism for basic IO events
1. Add notification mechanism for select, poll, epoll and blocking IO
2. Add pipe support for select, poll and blocking IO
2020-07-18 00:27:26 +08:00
Tate, Hongliang Tian
518ff76228 Bump version to 0.13.1 2020-07-11 14:19:41 +00:00
Tate, Hongliang Tian
9cefcb08b6 Bump version to 0.13.0 2020-06-13 04:29:50 +00:00
Tate, Hongliang Tian
e1789dc89f Bump version to 0.12.0
Also, update the docs accordingly.
2020-05-15 11:32:44 +00:00
Zongmin
a6d97d5b4f Update the sdk version to 2.9.1
Fix std::alloc::Alloc not found
The lastest Rust changes the trait to std::alloc::AllocRef.

Update the docker files to support sgx 2.9.1

Remove the compilerRT dependency for rust sdk update
2020-05-15 03:02:42 +00:00
Tate, Hongliang Tian
5b4b72a81a Bump the version number to 0.11.0 2020-04-17 17:52:17 +08:00
Tate, Hongliang Tian
2b556f8de9 Refactor the CPU scheduling subsystem
This commits improves both readability and correctness of the scheduling-related
system calls. In terms of readability, it extracts all scheduling-related code
ouf of the process/ directory and put it in a sched/ directory. In terms
of correctness, the new scheduling subsystem introduces CpuSet and SchedAgent
types to maintain and manipulate CPU scheduler settings in a secure and robust way.
2020-04-15 09:43:38 +00:00
LI Qing
23329efe14 Fix the broken dependency on SEFS
SEFS depends on version 0.9 of bitvec crate, which has been yanked on crates.io
by the crate author for some reasons. To fix this, we upgrade to the latest
version of bitvec crate.
2020-03-30 08:58:57 +00:00
Tate, Hongliang Tian
66dec604e4 Update the version number to 0.10.0 2020-03-09 04:17:48 +00:00
LI Qing
2372ef0d4e Fix make submodule command error 2020-02-10 12:02:23 +00:00
Tate, Hongliang Tian
e96892d348 Update version number to 0.9.0 2020-01-23 10:04:38 +00:00
LI Qing
488ec48fe7 Upgrade Rust SGX SDK and its deps to the latest
1. Upgrade Rust SGX SDK to v1.1.0
2. Upgrade Intel SGX SDK to v2.7.1
3. Upgrade Rust to nightly-2019-11-25
2020-01-23 04:40:54 +00:00
Tate, Hongliang Tian
fe926ed8b3 Update version to 0.8.0 2019-12-13 12:36:01 +00:00