Commit Graph

4108 Commits

Author SHA1 Message Date
Joe Bryan
6e8a914791 vere: refactor %behn's retries of failed events 2020-06-29 01:41:00 -07:00
Joe Bryan
a5a148e66d vere: remove stale function declarations 2020-06-27 22:32:52 -07:00
Joe Bryan
3969e78612 vere: retry behn timer failures 2020-06-27 01:15:32 -07:00
Joe Bryan
49444e86c5 vere: refactors ovum and callbacks to support retry 2020-06-27 01:13:06 -07:00
Joe Bryan
b6a0487d7a vere: corrects all uses of [vod_p] to [ptr_v] 2020-06-27 01:04:03 -07:00
Joe Bryan
3965b261d1 vere: refactors ovum scheduling api 2020-06-27 00:59:31 -07:00
Joe Bryan
b4ff9888b5 vere: refactors %ames packet failure callback 2020-06-27 00:50:11 -07:00
Joe Bryan
7c245aa85c vere: retry %behn %born event failures 2020-06-27 00:49:43 -07:00
Fang
b3cb7453cc vere: rename behn.c's alm -> alm_o
To adhere to the naming conventions.
2020-06-27 00:33:40 -07:00
Joe Bryan
a53f688d01 vere/serf/king: support timeouts and error response in %peek 2020-06-27 00:12:53 -07:00
Joe Bryan
1d7c361b06 vere: adds/improves error messages for term syscall retry loops 2020-06-26 16:24:43 -07:00
Joe Bryan
7f61b5a491 Revert "Merge pull request #3050 from urbit/m/behn-improvements"
This reverts commit ed808614aa, reversing
changes made to a6db3add83.
2020-06-26 16:24:43 -07:00
Joe Bryan
6fa194d527 Merge branch 'master' into jb/ipc-redux
* master: (147 commits)
  vere: bump version to 0.10.7
  libsigsegv: disable stack vma check
  vere: bump version to 0.10.6
  ci: add travis as trusted user
  jets: use appropriate macro
  noun: add -C to control memo cache size
  jets: restore fond/play/peek hooks
  jam: add commented-out functionality to count size of atom
  jets: cap memo cache and remove peek, play, and fond jets
  noun: add functions to count size of noun
  release: urbit-os-v1.0.23
  interface/config: fix production build
  soto: run +on-load migration once
  publish, links: restore full height
  sh/build-interface: amend for SPA
  interface/CONTRIBUTING: amend for SPA / webpack
  solid: update pill
  hood + apps: fix OTA process for feat/SPA
  hood: add version %6 for %file-server upgrade
  chat: equally size both code + s3 buttons
  ...
2020-06-26 13:33:00 -07:00
Joe Bryan
db9472dbe2 vere/king: tweaks serf startup args (unconditionally send all) 2020-06-26 12:29:18 -07:00
Joe Bryan
ac42ce09c5 Merge branch 'ipc-redux' into jb/ipc-redux
* ipc-redux:
  behn: optimize bounded timers scry
  vere: support saving scry jam to directory
  vere: u3_nul in place of c3__null
  vere: if behn scry fails, don't try again
  vere: rename behn.c's alm -> alm_o
  vere: scry out next behn timer for backstop
  vere: warn on invalid behn doze
  behn: improve scry interface
  arvo: allow the empty desk (%$) in scries
  vere: add -X flag for running a scry
2020-06-26 11:56:56 -07:00
Fang
02450fe380
Merge pull request #3049 from urbit/m/scry-command
vere: add -X flag for running a scry
2020-06-26 20:47:32 +02:00
Joe Bryan
55dd1e2cf7 vere: fixes re-entrancy bug in term.c write() wrapper 2020-06-26 11:32:04 -07:00
Joe Bryan
6148c87525 vere: restores arbitrary event injection with -I 2020-06-26 11:31:42 -07:00
Joe Bryan
49bea37049 vere: adds pending ipc message to lord status printfs 2020-06-26 11:20:08 -07:00
Philip Monk
271abcd3e7
vere: bump version to 0.10.7 2020-06-26 11:17:02 -07:00
Joe Bryan
57967b35fb vere: tweaks pier/lord info printfs 2020-06-26 10:25:24 -07:00
Joe Bryan
0f54d25d8e vere: silence ames errors unless -v, prints stats every 1k 2020-06-26 00:54:29 -07:00
Joe Bryan
5a3dbde218 vere: factors common _mcut functions into ward 2020-06-26 00:54:29 -07:00
Joe Bryan
9177b3ea87 vere: initialize king timer early (for reliable early-exit) 2020-06-26 00:54:29 -07:00
Joe Bryan
1762412162 vere: handle partial writes and retry in the terminal 2020-06-26 00:54:29 -07:00
Joe Bryan
48add92ca5 vere: skip SIGINFO on linux (unavailable) 2020-06-26 00:54:29 -07:00
Joe Bryan
6e9f8ec34b king: fixes --serf worker-path cli parser 2020-06-26 00:54:29 -07:00
Joe Bryan
81ff98c5d4 vere/king/serf: adds and enables event timeouts 2020-06-26 00:54:29 -07:00
Joe Bryan
078b274491 vere: completes daemon->king re-renaming 2020-06-26 00:54:29 -07:00
Joe Bryan
b860e8cd63 vere: adds basic info printfs on SIGINFO/SIGUSR1 2020-06-26 00:54:29 -07:00
Joe Bryan
d96a05e387 vere: fix use-after-free on exit in cttp 2020-06-26 00:54:24 -07:00
Fang
7cc1b4f3ca
behn: optimize bounded timers scry 2020-06-25 19:25:44 +02:00
Fang
2976b5303c
vere: support saving scry jam to directory
And default to the scry path, instead of just "scry.jam".
2020-06-25 17:13:19 +02:00
Fang
e087374cf0
vere: u3_nul in place of c3__null
We want ~, not %null.
2020-06-25 14:17:48 +02:00
Philip Monk
cbb80e9e7d
vere: bump version to 0.10.6 2020-06-24 19:09:03 -07:00
Philip Monk
f9d02263ee
jets: use appropriate macro 2020-06-24 17:11:46 -07:00
Philip Monk
361e41e78d
noun: add -C to control memo cache size 2020-06-24 17:08:50 -07:00
Fang
202de122ab
vere: if behn scry fails, don't try again
Instead, always fall back to the 10 minute timer as backstop.
2020-06-25 01:01:33 +02:00
Fang
e7ab3c037d
vere: rename behn.c's alm -> alm_o
To adhere to the naming conventions.
2020-06-24 23:33:22 +02:00
Fang
afd1808745
vere: scry out next behn timer for backstop
Instead of potentially waiting ten minutes in the problematic case, we
scry out the next timer from behn and set to that (if we haven't set
a new timer while we were waiting for the scry).
2020-06-24 23:31:25 +02:00
Fang
2be266de8c
vere: warn on invalid behn doze 2020-06-24 23:28:56 +02:00
Philip Monk
71fa03457c
jets: restore fond/play/peek hooks 2020-06-24 13:42:51 -07:00
Fang
a94285208a
behn: improve scry interface
No longer abuse the desk field, instead making use of the path. Reject
any scries outside of the local ship, empty desk and current time as
invalid.

Expose ducts only under a debug endpoint, nothing else should care about
being able to inspect them.

Add scry endpoints for the very next timer (if any), and all timers up
to and including a specified timestamp.
2020-06-24 17:09:29 +02:00
Fang
f714d90b15
arvo: allow the empty desk (%$) in scries
+slaw fails to parse empty strings as %tas, so we special-case it here.
2020-06-24 16:26:32 +02:00
Fang
abf9652628
vere: add -X flag for running a scry
Tries to get a scry result from a /vanecare/desk/path formatted path,
and jams the result to disk (.urb/put/) if it succeeds.
Optionally use -Y to specify a name for the resulting file.
2020-06-24 14:23:56 +02:00
Joe Bryan
46f3a17658 vere: free pier on graceful shutdown 2020-06-23 16:55:38 -07:00
Joe Bryan
a3ae21ea5b vere: removes SIGQUIT handler
we were turning these into SIGABRT in order to catch them and
unmap the lmdb database, but that's neither safe nor reliable.
2020-06-23 16:25:03 -07:00
Joe Bryan
dcdd1e4be9 vere: removes now-unused sniproxy dependency 2020-06-23 16:04:40 -07:00
Philip Monk
6c3b7aeef5
jam: add commented-out functionality to count size of atom
This is a convenient way to count memory usage of noun by simplying
running `(jam 1.337 noun-1 noun-2 ... ~)`.  This should
be a hint, but for debugging this is sufficient.
2020-06-22 19:29:00 -07:00
Philip Monk
fa6748a7e1
jets: cap memo cache and remove peek, play, and fond jets
With these changes, about 90% less memory and 15% less time is needed to
compile hoon.hoon.  The produced noun is within 3% of the same size,
which suggests this results in little if any duplication.

These are three of the four most commonly hit +ut jets.  The other is
+nest, which cannot be un-memoized without taking much longer to compile
(it didn't finish in my test).  These four jets combined for 2.3 million
out of the 2.4 million cache entries, the other +ut jets combine for
less than 100k, and literal ~+ accounted for about 50k entries.

This also caps the memo cache at 50k entries.  Even with these jets not
memoized, the memo cache grows to 357k entries and 122 MB.  Capping at
50k entries has no effect on time and reduces memory usage of the hash
table to about 25MB.  Entries are reclaimed with the clock algorithm,
which seems to be sufficient for this use.
2020-06-22 19:29:00 -07:00