Commit Graph

20279 Commits

Author SHA1 Message Date
Joe Bryan
c1d22949af u3: rewrites u3s_cue to use road stack api 2020-09-15 01:12:38 -07:00
Joe Bryan
740c0bbf81 u3: splits u3a_take into north/south implementations 2020-09-15 01:12:38 -07:00
Joe Bryan
fae8980660 u3: refactors "retreat" block of u3a_take in to do/while loop 2020-09-15 01:12:38 -07:00
Joe Bryan
c591eb220d u3: factors out "advance" block of u3a_take() 2020-09-15 01:12:38 -07:00
Joe Bryan
8b08a8b5c8 u3: refactors u3a_take() to use road stack api 2020-09-15 01:12:38 -07:00
Joe Bryan
a0621f2bbf u3: refactors cell reallocation, stack struct in u3a_take() 2020-09-15 01:12:38 -07:00
Joe Bryan
00ed9b1c1c u3: refactors atom reallocation in u3a_take() 2020-09-15 01:12:38 -07:00
Joe Bryan
6f39faeb7d u3: refactors u3a_walk_fore/unsafe(), using road stack api 2020-09-15 01:12:38 -07:00
Joe Bryan
10a674b0a5 u3: rewrites u3r_mug for clarity 2020-09-12 22:35:02 -07:00
Joe Bryan
707a834397 u3: corrects comments in allocate.h 2020-09-12 22:34:05 -07:00
Joe Bryan
b43fca4539 u3: refactors +reel and +stir jets, removing obsolete stack bookkeeping 2020-09-11 15:56:48 -07:00
Joe Bryan
0eb63131b8 u3: const-qualifies u3_pile pointer in road-stack api (where appropriate) 2020-09-11 15:56:07 -07:00
Joe Bryan
047481667a u3: clarifies forward-declaration comment in allocate.h 2020-09-11 15:12:46 -07:00
Joe Bryan
8db9a4d394 u3: only perform road stack checks in +stir jet if necessary 2020-09-11 15:10:49 -07:00
Joe Bryan
2e8d84c173 u3: removes redundant stack reads from +reel and +stir jets 2020-09-11 14:57:57 -07:00
Joe Bryan
a78b303bb4 u3: adds further improvements to road-stack api 2020-09-11 14:54:49 -07:00
Joe Bryan
b719a738f4 u3: refactors road stack api, limiting overflow checks 2020-09-11 13:38:04 -07:00
Joe Bryan
2af18a6659 Merge branch 'release/next-vere' into jb/stir-tail
* release/next-vere: (317 commits)
  u3: improves error output on c3_assert()
  vere: improves error messages on ipc EOF
  vere: fixes %trim effect handler
  vere: fix crash on u3_pier_bail()
  king: move most things from debug log level to info
  vere: support rendering +stub as ansi escape codes
  king: change logging from tracing to info in Wai.hs
  king dawn: export functions used in tests
  king dawn: nits
  king dawn: remove stray marks
  king dawn: instead of crashing, return an error
  king dawn: replace web3 usage with hand rolled jsonrpc messages.
  vere: v0.10.9-rc1
  vere: more correct lane cache commentary
  vere: reset instead of decrement scry fail counter
  vere: ames.c stylistic improvements
  vere: only touch forward queue counter if scrying
  vere: cache lanes for stateless forwarding
  vere: give up ames scry after successive failures
  vere: properly clean up dropped laneless packets
  ...
2020-09-11 12:53:30 -07:00
pilfer-pandex
98bb534930
Merge pull request #3470 from urbit/pp/loud
Use logInfo in place of logDebug in most situations
2020-09-10 12:47:39 -07:00
Joe Bryan
54d74ea1b0
Merge pull request #3471 from urbit/jb/vere-cleanup
vere: fix crash, cleanup error messages
2020-09-10 11:36:32 -07:00
Joe Bryan
f4c58ff256 u3: improves error output on c3_assert() 2020-09-09 22:43:28 -07:00
Joe Bryan
0699f6f3f1 vere: improves error messages on ipc EOF 2020-09-09 22:42:53 -07:00
Joe Bryan
3eb51b13d6 vere: fixes %trim effect handler 2020-09-09 22:40:46 -07:00
Joe Bryan
0641769875 vere: fix crash on u3_pier_bail() 2020-09-09 22:39:39 -07:00
pilfer-pandex
ba79aa713a king: move most things from debug log level to info 2020-09-09 18:20:21 -07:00
fang
7889a663b2
Merge pull request #3467 from urbit/m/term-escape-vere
vere: support rendering +stub as ansi escape codes
2020-09-09 20:08:55 +02:00
Fang
467d8d239b
vere: support rendering +stub as ansi escape codes
Adds support to term.c for a %klr blit, containing a +stub describing
styled text.

Dill will start making use of this in a separate commit, for release
cutting reasons.
2020-09-09 19:06:40 +02:00
Joe Bryan
40dabb3bac u3: tweaks +stir jet for refcount clarity 2020-09-08 13:11:29 -07:00
Elliot Glaysher
0a3fe85c06
Merge pull request #3439 from urbit/kh-sending-chunk
king: change logging from tracing to info in Wai.hs
2020-09-08 10:32:23 -04:00
Elliot Glaysher
d6762a8baf
Merge pull request #3431 from urbit/fixup-galaxy-table
king dawn: replace web3 usage with hand rolled jsonrpc messages.
2020-09-08 10:10:50 -04:00
Elliot Glaysher
ecbcdf7d00 king: change logging from tracing to info in Wai.hs
I noticed that the king's text log file kept filling up, and it's
mostly 'sending chunk "\n"' from eyre. This changes the log level
of every partial send over an active eyre channel to info, instead
of always.
2020-09-05 21:49:23 -04:00
Elliot Glaysher
a42c90db9c king dawn: export functions used in tests 2020-09-04 17:02:11 -04:00
Joe Bryan
89f833365c u3: optimizes +stir jet, pushes incremental results onto the road stack 2020-09-04 13:07:52 -07:00
Joe Bryan
836715ff31 u3: optimizes +stir jet, reducing incremental allocations in fold 2020-09-04 13:08:11 -07:00
Joe Bryan
8e1468b2e0 u3: rewrites +stir to use loops (constant stack space) 2020-09-04 13:07:52 -07:00
Elliot Glaysher
74b40e0e52 king dawn: nits 2020-09-04 14:44:26 -04:00
Elliot Glaysher
07089a1c93 king dawn: remove stray marks 2020-09-04 11:01:47 -04:00
Elliot Glaysher
4bd0882e7d king dawn: instead of crashing, return an error 2020-09-04 10:54:31 -04:00
Elliot Glaysher
4a7e1b2009 king dawn: replace web3 usage with hand rolled jsonrpc messages.
This replaces the autogenerated bindings to the Azimuth contracts
which use Network.Web3 with hand rolled json messages. Booting a
ship involved 256 individual galaxy point lookups using web3, while
Vere batched all of that into one JSONRPC message.

With this patch, we also batch everything at each phase into one
JSONRPC batch.
2020-09-03 16:05:08 -04:00
Fang
626c4671da
vere: v0.10.9-rc1 2020-09-01 14:30:42 +02:00
Fang
5483dab766
Merge pull request #3405 from urbit/m/better-forwarding
ames.c: better stateless forwarding
2020-08-31 23:09:53 +02:00
Fang
45ad5adbfd
vere: more correct lane cache commentary
@da are 128 bits, just like the worst-case @p.
2020-08-31 22:37:52 +02:00
Fang
e90258627f
vere: reset instead of decrement scry fail counter
If scries succeed, they work. No need to make this smarter.
2020-08-31 22:36:32 +02:00
Fang
7aa452b2fa
vere: ames.c stylistic improvements
Primarily, be consistent about parenthesis spacing around conditionals.
2020-08-31 22:34:10 +02:00
Fang
585fb248ec
vere: only touch forward queue counter if scrying
Slightly simplify the logic around changing the queue size counter by
only modifying it when we're _actually_ scrying, instead of
synchronously processing the forward.
2020-08-29 17:33:31 +02:00
Fang
5f77200d0d
vere: cache lanes for stateless forwarding
While stateless forwarding doesn't need to touch disk, there's still
overhead in needing to communicate with the serf over IPC. By caching
lanes, we get to skip the IPC pipeline, and can respond to forwarding
requests synchronously.

We include timestamps alongside the entries in the cache, and consider
entries older than two minutes as stale.

The cache is capped at around ~100mb of memory use. Further commentary
is provided inline.

Previously, ~nus would drop 3 forward requests, for every one it
fulfilled. Now, it seems able to keep up with demand, only dropping
forwards shortly after boot, while the cache isn't primed yet.
2020-08-29 17:17:45 +02:00
Fang
024c16cd97
vere: give up ames scry after successive failures
Instead of giving up on scrying at the first sight of a u3_none result,
keep trying for a little bit. If five scries fail in direct succession,
consider scrying not worth the effort, and stop trying as before.
2020-08-28 15:34:19 +02:00
Fang
d76a5e9077
vere: properly clean up dropped laneless packets
Previously, if ames told us there was no lane for a target, we would
drop the packet, but fail to register this in the queue, or even reclaim
the memory it was using.

Now, we do all the required book-keeping when dropping packets in the
"no lane for this" case.
2020-08-28 12:53:18 +02:00
Joe Bryan
1e8158b683
Merge pull request #3355 from frodwith/rolljet
+roll and +reel stack space
2020-08-24 19:16:47 -07:00
Paul Driver
8bc148acc3 use road stack instead of heap vector in reel 2020-08-24 15:01:02 -07:00