@ai-ecoverse/slicc-kernel 1.176.0 → 1.176.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/kernel-worker.js +10 -4
- package/dist/kernel-worker.js.map +2 -2
- package/dist/node-process-worker.cjs +84 -19
- package/dist/node-process-worker.cjs.map +3 -3
- package/dist/node-process-worker.js +84 -19
- package/dist/node-process-worker.js.map +3 -3
- package/dist/node.js +10 -4
- package/dist/node.js.map +2 -2
- package/dist/process-worker.js +84 -19
- package/dist/process-worker.js.map +3 -3
- package/dist/types/realm/live-vfs-fs.d.ts +5 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1279,7 +1279,7 @@ In a browser every process worker of the page shares one renderer. V8 reserves a
|
|
|
1279
1279
|
- **Below a learned ceiling,** a process that still runs out of memory is started again once another process exits, and the spawn fails with `EAGAIN` after 10 s with none.
|
|
1280
1280
|
- **`/proc/sys/kernel/slicc_wasm_memories`** reads `<live> <ceiling> <source>`. The source is `default`, `learned`, or `none` (with the ceiling 0).
|
|
1281
1281
|
|
|
1282
|
-
`/proc/sys/kernel/slicc_shared_root` reads `1` while another kernel shares the root (a tab, or a second kernel in the page) and `0` otherwise. A peer whose kernel ends (its tab closes or reloads) stops counting at once: each kernel queues a request for every peer's alive Web Lock, and the grant tells it the peer has gone ([#984](https://github.com/ai-ecoverse/slicc-kernel/issues/984)). `/proc/sys/kernel/slicc_fs_calls` reads the number of path calls (lookups, stats, opens, creates, removals and the like) the kernel has served its programs since it started. `/proc/sys/kernel/slicc_opfs_calls` counts the OPFS calls the kernel has made to look names up and read stats (`getFile`, `getFileHandle`, `getDirectoryHandle`, `resolve`). `/proc/sys/kernel/slicc_opfs_ops` counts every request the root file system makes of OPFS: those lookups, plus creates, writes (one per write, truncate or write session), reads, listings, renames and removals ([#1017](https://github.com/ai-ecoverse/slicc-kernel/issues/1017)). `/proc/sys/kernel/slicc_meta_transactions` reads two numbers: the read and the write transactions the kernel has opened on its metadata database (IndexedDB) since it started; it reads `0 0` with `metadata: false`. With an idle peer, a tar unpack makes at most 1.5 times the calls it makes alone ([#984](https://github.com/ai-ecoverse/slicc-kernel/issues/984)). `/proc/sys/kernel/slicc_cwd_checks` counts the times a process asked the kernel whether its [working directory](#the-working-directory) is still the one it holds.
|
|
1282
|
+
`/proc/sys/kernel/slicc_shared_root` reads `1` while another kernel shares the root (a tab, or a second kernel in the page) and `0` otherwise. A peer whose kernel ends (its tab closes or reloads) stops counting at once: each kernel queues a request for every peer's alive Web Lock, and the grant tells it the peer has gone ([#984](https://github.com/ai-ecoverse/slicc-kernel/issues/984)). `/proc/sys/kernel/slicc_fs_calls` reads the number of path calls (lookups, stats, opens, creates, removals and the like) the kernel has served its programs since it started. `/proc/sys/kernel/slicc_opfs_calls` counts the OPFS calls the kernel has made to look names up and read stats (`getFile`, `getFileHandle`, `getDirectoryHandle`, `resolve`). `/proc/sys/kernel/slicc_opfs_ops` counts every request the root file system makes of OPFS: those lookups, plus creates, writes (one per write, truncate or write session), reads, listings, renames and removals ([#1017](https://github.com/ai-ecoverse/slicc-kernel/issues/1017)). `/proc/sys/kernel/slicc_create_parent_refresh` counts the times a create (mkdir, `O_CREAT` or symlink) got `ENOENT` for a parent that was only a cached miss, listed the directory above that parent once and retried. `/proc/sys/kernel/slicc_meta_transactions` reads two numbers: the read and the write transactions the kernel has opened on its metadata database (IndexedDB) since it started; it reads `0 0` with `metadata: false`. With an idle peer, a tar unpack makes at most 1.5 times the calls it makes alone ([#984](https://github.com/ai-ecoverse/slicc-kernel/issues/984)). `/proc/sys/kernel/slicc_cwd_checks` counts the times a process asked the kernel whether its [working directory](#the-working-directory) is still the one it holds.
|
|
1283
1283
|
|
|
1284
1284
|
### Metadata
|
|
1285
1285
|
|
package/dist/kernel-worker.js
CHANGED
|
@@ -3094,7 +3094,7 @@ var OpfsFs = class {
|
|
|
3094
3094
|
}
|
|
3095
3095
|
async mkdirExcl(path, owner) {
|
|
3096
3096
|
if (normalizePath(path) === "/") throw fsError("EEXIST", path);
|
|
3097
|
-
const parent = await this.locate(parentOf4(path), true);
|
|
3097
|
+
const parent = await this.exactly(() => this.locate(parentOf4(path), true));
|
|
3098
3098
|
if (parent.handle?.kind !== "directory") throw fsError("ENOTDIR", path);
|
|
3099
3099
|
const dir = parent.handle;
|
|
3100
3100
|
const name2 = baseOf(path);
|
|
@@ -3116,7 +3116,7 @@ var OpfsFs = class {
|
|
|
3116
3116
|
}
|
|
3117
3117
|
async createExclusive(path, owner) {
|
|
3118
3118
|
if (normalizePath(path) === "/") throw fsError("EEXIST", path);
|
|
3119
|
-
const parent = await this.locate(parentOf4(path), true);
|
|
3119
|
+
const parent = await this.exactly(() => this.locate(parentOf4(path), true));
|
|
3120
3120
|
if (parent.handle?.kind !== "directory") throw fsError("ENOTDIR", path);
|
|
3121
3121
|
const dir = parent.handle;
|
|
3122
3122
|
const name2 = baseOf(path);
|
|
@@ -3865,7 +3865,7 @@ var OpfsFs = class {
|
|
|
3865
3865
|
}
|
|
3866
3866
|
}
|
|
3867
3867
|
async symlink(target, path, owner) {
|
|
3868
|
-
const parent = await this.locate(parentOf4(path), true);
|
|
3868
|
+
const parent = await this.exactly(() => this.locate(parentOf4(path), true));
|
|
3869
3869
|
if (parent.handle?.kind !== "directory") throw fsError("ENOTDIR", path);
|
|
3870
3870
|
const at = resolvePath(parent.path, baseOf(path));
|
|
3871
3871
|
this.refuse(at);
|
|
@@ -8767,7 +8767,7 @@ function satisfies(version, range2) {
|
|
|
8767
8767
|
}
|
|
8768
8768
|
|
|
8769
8769
|
// src/version.ts
|
|
8770
|
-
var KERNEL_VERSION = true ? "1.176.
|
|
8770
|
+
var KERNEL_VERSION = true ? "1.176.1" : "0.0.0-dev";
|
|
8771
8771
|
var OS_RELEASE = "6.0.0-slicc";
|
|
8772
8772
|
function procVersion() {
|
|
8773
8773
|
return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
|
|
@@ -16811,6 +16811,10 @@ var lengthOf = getter("length");
|
|
|
16811
16811
|
|
|
16812
16812
|
// src/realm/live-vfs-fs.ts
|
|
16813
16813
|
var EARLY_WHOLE_FILE = 64 * 1024;
|
|
16814
|
+
var createParentRefresh = 0;
|
|
16815
|
+
function createParentRefreshCount() {
|
|
16816
|
+
return createParentRefresh;
|
|
16817
|
+
}
|
|
16814
16818
|
|
|
16815
16819
|
// src/process/process-fds.ts
|
|
16816
16820
|
var REFUSED = /* @__PURE__ */ new Set([wasiErrno("EACCES"), wasiErrno("EPERM")]);
|
|
@@ -16853,6 +16857,8 @@ var SYS_TREE = {
|
|
|
16853
16857
|
slicc_opfs_calls: (listing) => `${listing.opfsCalls ?? 0}
|
|
16854
16858
|
`,
|
|
16855
16859
|
slicc_opfs_ops: (listing) => `${listing.opfsOps ?? 0}
|
|
16860
|
+
`,
|
|
16861
|
+
slicc_create_parent_refresh: (_listing) => `${createParentRefreshCount()}
|
|
16856
16862
|
`,
|
|
16857
16863
|
slicc_meta_transactions: ({ meta }) => `${meta?.reads ?? 0} ${meta?.writes ?? 0}
|
|
16858
16864
|
`,
|