whitequark
b30734a105
runtime: fix a race condition with async RPCs.
...
session.rs has code like:
while !rpc_queue::empty() {
try!(process_kern_queued_rpc(stream, &mut session))
}
// A
if mailbox::receive() != 0 {
try!(process_kern_message(waiter, Some(stream), &mut session));
}
If both an async and a mailbox RPC (async or large sync) are posted
at point A then they will be processed out of order.
This commit fixes the issue by flushing the async RPC queue before
posting any RPC to the mailbox.
2016-11-01 13:22:22 +00:00
whitequark
6fcd57a41a
runtime: fix remaining async RPC bugs.
2016-11-01 10:33:57 +00:00
whitequark
2095d01b84
runtime: dirty hacks to remove allocations in ksupport.
2016-11-01 08:55:49 +00:00
whitequark
c1e6d4b67c
runtime: fix multiple async RPC bugs.
2016-11-01 06:51:44 +00:00
whitequark
636d4efe81
gateware: rewrite mailbox to use bits_for.
2016-11-01 06:28:43 +00:00
Sebastien Bourdeauducq
43cd970100
make set_dataset and mutate_dataset async RPCs
2016-11-01 11:11:41 +08:00
whitequark
18ae8d54a3
gateware: fix mailbox.
2016-11-01 02:33:00 +00:00
whitequark
898a716b91
runtime: work around mor1kx ignoring low bits of reset address.
...
Fixes #599 .
2016-10-31 18:13:15 +00:00
whitequark
617e345d16
gateware: fix kernel CPU exec address.
2016-10-31 15:16:35 +00:00
Sebastien Bourdeauducq
2392113bb6
kc705: use misoc clock for false path
2016-10-30 11:16:04 +08:00
whitequark
cd68577dbc
compiler: add support for async RPCs.
2016-10-30 00:57:31 +00:00
whitequark
2ac85cd40f
runtime: implement prototype background RPCs.
2016-10-29 21:34:25 +00:00
Sebastien Bourdeauducq
c656a53532
kc705: clean up clock constraints
2016-10-29 21:28:01 +08:00
Sebastien Bourdeauducq
ed4d57c638
use new Migen signal attribute API
2016-10-29 21:19:58 +08:00
whitequark
6872017449
gateware: extend mailbox to 3 entries.
2016-10-21 12:09:14 +00:00
Sebastien Bourdeauducq
6aa13fbf25
master/worker_db: set default value for archive
2016-10-19 20:12:16 +08:00
Sebastien Bourdeauducq
5d184f8061
master: keep dataset manager consistent when set_dataset is called with contradictory attributes
2016-10-18 17:11:07 +08:00
Sebastien Bourdeauducq
69d96b0158
master: archive input datasets. Closes #587
2016-10-18 17:11:07 +08:00
Sebastien Bourdeauducq
ed2624545f
master: ensure same dataset is in broadcast and local when mutating
2016-10-18 17:11:07 +08:00
Sebastien Bourdeauducq
1908339d4e
scheduler: default submission arguments, closes #577
2016-10-18 17:11:06 +08:00
Robert Jördens
0e41725e2d
pdq2: sync with pdq2
2016-10-18 09:43:46 +02:00
Sebastien Bourdeauducq
69099691f7
doc: clarify usage of pause/check_pause, closes #571
2016-10-17 20:08:15 +08:00
Sebastien Bourdeauducq
02adccf4a2
dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572
2016-10-17 19:57:59 +08:00
Sebastien Bourdeauducq
85834976d9
gateware/spi: fix import
2016-10-17 14:06:35 +08:00
whitequark
6da1f39670
runtime: fix use of $(realpath) in Makefile.
2016-10-17 00:11:02 +00:00
whitequark
f10a4498c7
test: fix printf specifier.
2016-10-16 23:54:29 +00:00
whitequark
2a9e370840
llvm_ir_generator: make sure RPC allocations are not underaligned.
2016-10-16 16:43:03 +00:00
whitequark
7618907cad
runtime: use i64 for watchdog timeout, not i32.
2016-10-16 16:32:43 +00:00
whitequark
a8c017bfcc
runtime: port ksupport to Rust.
2016-10-16 16:32:43 +00:00
whitequark
fee75bd50f
runtime: remove some redundant libm functions copied inline.
2016-10-16 16:25:29 +00:00
David Nadlinger
e037d167f4
language: Add "A" (ampere) as well-known unit for arguments
...
Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-10-13 12:22:01 +08:00
Robert Jördens
290498aca0
conda: misoc 0.4 (csr)
2016-10-12 16:34:19 +02:00
whitequark
9c3394794e
runtime: cap log level at debug.
2016-10-07 14:24:12 +00:00
whitequark
4d790b452c
runtime: discard unnecessary sections.
2016-10-07 08:30:14 +00:00
whitequark
8eeb6ea1b9
packaging: include runtime.rs in MANIFEST.
2016-10-07 07:53:38 +00:00
whitequark
ef10344b3e
runtime: rewrite isr() in Rust.
2016-10-07 06:27:10 +00:00
whitequark
8be60cc223
runtime: fix KERNELCPU_LAST_ADDRESS after layout change.
2016-10-07 05:53:55 +00:00
whitequark
4f11b071a5
runtime: remove useless handshaking in analyzer.
2016-10-07 05:53:16 +00:00
whitequark
b52ecda1d5
runtime: make memory map saner.
2016-10-06 18:05:38 +00:00
whitequark
b4bbf44a0a
runtime: buffer writes of RPC data.
...
This improves upload speed ~166×.
2016-10-06 17:32:26 +00:00
whitequark
557bc4bb56
runtime: remove unnecessary buffering.
2016-10-06 17:25:43 +00:00
whitequark
edafb08b43
test: fix d6193365
.
2016-10-06 16:27:12 +00:00
whitequark
d619336503
test: update libartiq_support for changed personality ABI.
2016-10-06 15:44:55 +00:00
whitequark
bcdbd00e7b
runtime: remove unnecessary null bytes from session protocol.
2016-10-06 15:39:00 +00:00
whitequark
5428a866b3
runtime: the Rust runtime is now just the runtime.
2016-10-06 15:38:45 +00:00
whitequark
3e829d0d01
Rust: unborrow cache after kernel stops.
2016-10-06 14:19:12 +00:00
whitequark
e92f20546a
Rust: implement exceptional RPC replies.
2016-10-06 14:08:02 +00:00
whitequark
226fa723bb
Rust: implement exceptional kernel termination.
...
This also adjusts the way backtraces are serialized by kloader.
2016-10-06 13:42:35 +00:00
whitequark
84214ab0d1
Rust: don't panic when loading a kernel twice in same session.
2016-10-06 12:55:19 +00:00
whitequark
6b2789e3db
test: add more RPC tests.
2016-10-06 12:54:08 +00:00