-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release vere-v2.10 to live #474
Commits on Feb 13, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 866e178 - Browse repository at this point
Copy the full SHA 866e178View commit details -
Configuration menu - View commit details
-
Copy full SHA for 30678bc - Browse repository at this point
Copy the full SHA 30678bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 84610b3 - Browse repository at this point
Copy the full SHA 84610b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 22fc9b2 - Browse repository at this point
Copy the full SHA 22fc9b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 108cae1 - Browse repository at this point
Copy the full SHA 108cae1View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe59ac5 - Browse repository at this point
Copy the full SHA fe59ac5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50ada1f - Browse repository at this point
Copy the full SHA 50ada1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 50f4502 - Browse repository at this point
Copy the full SHA 50f4502View commit details -
Configuration menu - View commit details
-
Copy full SHA for b9fcbb6 - Browse repository at this point
Copy the full SHA b9fcbb6View commit details
Commits on May 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 1e145cb - Browse repository at this point
Copy the full SHA 1e145cbView commit details
Commits on May 23, 2023
-
vere: map ephemeral space to file in pier
See vere#405. This implements a "roll-your-own swapfile", where we designate a file (.urb/ephemeral.bin) to file-back any parts of the loom which are not backed by the snapshot. These are pages in the contiguous free space, and pages that have been dirtied since the last snapshot. With these changes, you should be able to safely reduce the allotted memory to a VM running a machine without relying on separate swap space. The main disadvantages to this approach are: - ephemeral.bin is large (the size of the loom). We could delete it on graceful shutdown, or we could make it a sparse file. - _ce_flaw_protect has to copy the contents of dirtied pages twice. I'm skeptical that this introduces significant slowness, but it could. It may be reasonable to put this behavior behind a flag simply because of the increased disk requirements.
Configuration menu - View commit details
-
Copy full SHA for b111200 - Browse repository at this point
Copy the full SHA b111200View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b9a510 - Browse repository at this point
Copy the full SHA 9b9a510View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd3d5cd - Browse repository at this point
Copy the full SHA cd3d5cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d22c38 - Browse repository at this point
Copy the full SHA 5d22c38View commit details
Commits on May 30, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 72c19a4 - Browse repository at this point
Copy the full SHA 72c19a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for f9e5419 - Browse repository at this point
Copy the full SHA f9e5419View commit details -
Configuration menu - View commit details
-
Copy full SHA for f9ae465 - Browse repository at this point
Copy the full SHA f9ae465View commit details -
Configuration menu - View commit details
-
Copy full SHA for c8bfa1a - Browse repository at this point
Copy the full SHA c8bfa1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 25c4ea2 - Browse repository at this point
Copy the full SHA 25c4ea2View commit details -
Revert "Implement simple replay command (#192)"
This reverts commit 47ba262.
Configuration menu - View commit details
-
Copy full SHA for 243aec5 - Browse repository at this point
Copy the full SHA 243aec5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d2c229 - Browse repository at this point
Copy the full SHA 4d2c229View commit details
Commits on May 31, 2023
-
Co-authored-by: Jake Miller <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c47b18 - Browse repository at this point
Copy the full SHA 2c47b18View commit details
Commits on Jun 1, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 5468fb2 - Browse repository at this point
Copy the full SHA 5468fb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21a1daf - Browse repository at this point
Copy the full SHA 21a1dafView commit details
Commits on Jun 2, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b1027bc - Browse repository at this point
Copy the full SHA b1027bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 79d0b18 - Browse repository at this point
Copy the full SHA 79d0b18View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1377616 - Browse repository at this point
Copy the full SHA 1377616View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0cc7e56 - Browse repository at this point
Copy the full SHA 0cc7e56View commit details
Commits on Jun 8, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b7bf616 - Browse repository at this point
Copy the full SHA b7bf616View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ffb3ae - Browse repository at this point
Copy the full SHA 1ffb3aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for d98aac2 - Browse repository at this point
Copy the full SHA d98aac2View commit details
Commits on Jun 12, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 3c40e1b - Browse repository at this point
Copy the full SHA 3c40e1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ef27bb2 - Browse repository at this point
Copy the full SHA ef27bb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b39adc - Browse repository at this point
Copy the full SHA 8b39adcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 79a5f71 - Browse repository at this point
Copy the full SHA 79a5f71View commit details -
Configuration menu - View commit details
-
Copy full SHA for 52a1d06 - Browse repository at this point
Copy the full SHA 52a1d06View commit details -
Configuration menu - View commit details
-
Copy full SHA for 598040d - Browse repository at this point
Copy the full SHA 598040dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 07927aa - Browse repository at this point
Copy the full SHA 07927aaView commit details
Commits on Jun 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 4465aeb - Browse repository at this point
Copy the full SHA 4465aebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8fcee60 - Browse repository at this point
Copy the full SHA 8fcee60View commit details -
Configuration menu - View commit details
-
Copy full SHA for eef8c75 - Browse repository at this point
Copy the full SHA eef8c75View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2071be4 - Browse repository at this point
Copy the full SHA 2071be4View commit details -
Configuration menu - View commit details
-
Copy full SHA for f155698 - Browse repository at this point
Copy the full SHA f155698View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd27ccf - Browse repository at this point
Copy the full SHA fd27ccfView commit details -
Configuration menu - View commit details
-
Copy full SHA for f395dd9 - Browse repository at this point
Copy the full SHA f395dd9View commit details -
Configuration menu - View commit details
-
Copy full SHA for c98e9ac - Browse repository at this point
Copy the full SHA c98e9acView commit details -
Configuration menu - View commit details
-
Copy full SHA for d3d60ea - Browse repository at this point
Copy the full SHA d3d60eaView commit details
Commits on Jun 15, 2023
-
u3: enforce a max of one page in south.bin (#458)
This PR is the simplest available fix for #451.
Configuration menu - View commit details
-
Copy full SHA for 6b0b85f - Browse repository at this point
Copy the full SHA 6b0b85fView commit details -
Resolves #456. Written live for a tutorial with @belisarius222
Josh Lehman authoredJun 15, 2023 Configuration menu - View commit details
-
Copy full SHA for d10a4c0 - Browse repository at this point
Copy the full SHA d10a4c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 877e94b - Browse repository at this point
Copy the full SHA 877e94bView commit details
Commits on Jun 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b4ede47 - Browse repository at this point
Copy the full SHA b4ede47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59d40a0 - Browse repository at this point
Copy the full SHA 59d40a0View commit details
Commits on Jun 19, 2023
-
play: dedicated event replay, revived (#420)
This PR ports urbit/urbit#6159, fixing a performance problem that plagued previous porting attempts. Fixes #157, supersedes #210 and #413. The poor performance observed in #210 and elsewhere was not due to any issue matching or dispatching jets. It coincided with the switch from hoon %140 to %139, but only incidentally. It was caused by a change to the `+solid` pill generator, which inadvertently broke the structural sharing in the lifecycle sequence (see https://github.com/urbit/urbit/pull/5989/files#diff-2f8df9d079ccb58c0a9a9c46f2f7dbd943dabaa21ba658c839de757bbac999f1L108-L116). The problem was unnoticed because, in normal (ie, king/serf) boot and replay, events are sent over IPC in batches, which had the side effect of recovering the necessary structural sharing. This new replay implementation does not involve IPC, but instead reads and computes events synchronously, in a single process. The issue did not arise until ships booted from pills created with the updated generator were replayed using this new implementation, and that happened to coincide with the release of hoon %139. The absence of structural shared lead to jets being registered with one copy of the kernel, but dispatched from a separate copy, resulting in absurdly expensive equality comparisons. Since both copies were already allocated on the home-road, unification could not be performed. And since the problem manifested during the initial phase (lifecycle sequence) of the boot process, `|meld` could not be used. This PR includes a trivial hack to work around such event logs: the lifecycle sequence is read in an inner road, jammed, and then cue'd, thus recovering structural sharing before any nock computation, jet registration, &c. The solid pill generator should also be fixed, but workarounds will still be needed to account for existing piers. Longer-term, home-road unification should clearly be explored to avoid such fragility.
Configuration menu - View commit details
-
Copy full SHA for d27808d - Browse repository at this point
Copy the full SHA d27808dView commit details
Commits on Jun 20, 2023
-
fine: Loosen path parsing and bump page size (#454)
These are the vere changes that accompany urbit/urbit#6669, see that for a description.
Configuration menu - View commit details
-
Copy full SHA for 5804245 - Browse repository at this point
Copy the full SHA 5804245View commit details -
Configuration menu - View commit details
-
Copy full SHA for c9fe4d3 - Browse repository at this point
Copy the full SHA c9fe4d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for aecc140 - Browse repository at this point
Copy the full SHA aecc140View commit details -
Configuration menu - View commit details
-
Copy full SHA for 73f335f - Browse repository at this point
Copy the full SHA 73f335fView commit details -
Configuration menu - View commit details
-
Copy full SHA for bcf3b59 - Browse repository at this point
Copy the full SHA bcf3b59View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ce67c9 - Browse repository at this point
Copy the full SHA 6ce67c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for b1337b6 - Browse repository at this point
Copy the full SHA b1337b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a79293 - Browse repository at this point
Copy the full SHA 0a79293View commit details -
Configuration menu - View commit details
-
Copy full SHA for c260dba - Browse repository at this point
Copy the full SHA c260dbaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 869d8b9 - Browse repository at this point
Copy the full SHA 869d8b9View commit details -
u3: "toss" ephemeral pages after every event (#422)
Highly relevant to #410 (I think this behavior should be always-on in the presence of "swap"), but also likely useful as a standalone option for low-memory deployments. This is a draft PR as the behavior is hardcoded, not controlled by command-line arguments.
Configuration menu - View commit details
-
Copy full SHA for 8b84d71 - Browse repository at this point
Copy the full SHA 8b84d71View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25505af - Browse repository at this point
Copy the full SHA 25505afView commit details
Commits on Jun 21, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d40acbb - Browse repository at this point
Copy the full SHA d40acbbView commit details -
vere: map ephemeral space to file in pier (#410)
See #405 This implements a "roll-your-own swapfile", where we designate a file (.urb/ephemeral.bin) to file-back any parts of the loom which are not backed by the snapshot. These are pages in the contiguous free space, and pages that have been dirtied since the last snapshot. With these changes, you should be able to safely reduce the allotted memory to a VM running a machine without relying on separate swap space. The main disadvantages to this approach are: - ephemeral.bin is large (the size of the loom). We could delete it on graceful shutdown, or we could make it a sparse file. - _ce_flaw_protect has to copy the contents of dirtied pages twice. I'm skeptical that this introduces significant slowness, but it could. It may be reasonable to put this behavior behind a flag simply because of the increased disk requirements. I've successfully tested various scenarios in a limited memory environment, but this is not well enough tested to be ready for merging. Main things I've tested (all on a machine with 1GB RAM and no swap): - Boot - Allocate 8 128MB atoms in the dojo in a row, verifying |mass is 1.2GB afterward - Free those atoms, run |pack, recreate them, free them again, |pack again - Restart ship, recreate those atoms, free them, and |pack All of this worked fine on that machine, even though the ephemeral memory usage must have been greater than the RAM on the machine, and there were no swap files. During most of this, the htop-reported "resident memory" for the serf process was around 400-600MB, while the amount of memory "used" overall per `free -h` was under 180-250MB every time I checked. This is consistent with the OS deciding how much of the backing files to keep resident at any given time, while the amount of memory strictly required stays fairly small. Testing on a machine with plenty of memory, I didn't notice any slowdown. On the 1GB machine, it was somewhat slow to allocate the large atoms, but it felt about right considering they must have been written to the backing file. Graceful shutdown was somewhat slow sometimes, presumably when it needed to copy from the ephemeral file to the snapshot.
Josh Lehman authoredJun 21, 2023 Configuration menu - View commit details
-
Copy full SHA for 2a21d8d - Browse repository at this point
Copy the full SHA 2a21d8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 132dca1 - Browse repository at this point
Copy the full SHA 132dca1View commit details -
jets: let +bex create atoms 256MB or more (#464)
In testing, I commonly use `=a (bex (bex 29))` as a way to use 128MB of memory. It's been annoying that you can't do 256MB or more in this way, because the +bex jet didn't support it. This PR raises that limit to strictly less than 2GB. This also reduces the ephemeral memory usage of the `+bex` jet on large numbers by half. This was limited to strictly less than 256MB because it used a gmp method to perform the binary exponent. I briefly looked at whether gmp would handle double-length words for the exponent, but decided it was simpler and more efficient anyway to write this jet directly, ie allocate `a+1` bits and set the `a`th bit. This saves one copy of the entire result, and allows it to function up to 2GB minus one. This function would work correctly above this limit, but there are other parts of the system that seem to implicitly assume that atoms cannot be 2GB or larger. The first one I ran into was `mug`, but there may be others; after all, for a long time it was safe to assume nothing could be larger than 2GB because that was the loom size.
Configuration menu - View commit details
-
Copy full SHA for f54d6de - Browse repository at this point
Copy the full SHA f54d6deView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7de5422 - Browse repository at this point
Copy the full SHA 7de5422View commit details
Commits on Jun 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7f936b7 - Browse repository at this point
Copy the full SHA 7f936b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7140a46 - Browse repository at this point
Copy the full SHA 7140a46View commit details -
Configuration menu - View commit details
-
Copy full SHA for 272bb84 - Browse repository at this point
Copy the full SHA 272bb84View commit details -
u3: improve snapshot corruption size checks (#468)
These checks were introduced in v2.7, aborting the process if the snapshot metadata indicated that truncation had occurred. But the check as written is unnecessarily strict, and also aborts the process if the snapshot was larger than necessary. This PR prints a warning in that case and otherwise continues.
Configuration menu - View commit details
-
Copy full SHA for 9fac623 - Browse repository at this point
Copy the full SHA 9fac623View commit details
Commits on Jun 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2b62e1b - Browse repository at this point
Copy the full SHA 2b62e1bView commit details