idle kernel changes: run on startup, flashing new kernel after startup #276

Open
srenblad wants to merge 1 commits from srenblad/artiq-zynq:idle_kernel_rework_simple into master

idle kernel changes: run on startup, flashing new kernel after startup

Relevant issue: https://github.com/m-labs/artiq/issues/2246

The idle kernel does not run automatically after booting after startup kernel has exited.

Proposed fix:

  • Start an additional task before entering main loop, terminate on first experiment connection.

Testing

  • Smoke tested on Kasli-SoC v1.1 standalone variant
  1. Flashed and power-cycled board.
  2. Idle kernel starts after startup kernel finishes (no startup kernel in this test)
  3. Run experiment.
  4. Idle kernel runs after experiment.
### idle kernel changes: run on startup, flashing new kernel after startup Relevant issue: https://github.com/m-labs/artiq/issues/2246 > The idle kernel does not run automatically after booting after startup kernel has exited. Proposed fix: + Start an additional task before entering main loop, terminate on first experiment connection. #### Testing + [x] Smoke tested on Kasli-SoC v1.1 standalone variant 1. Flashed and power-cycled board. 2. Idle kernel starts after startup kernel finishes (no startup kernel in this test) 3. Run experiment. 4. Idle kernel runs after experiment.
srenblad added 1 commit 2023-11-01 10:41:39 +08:00
esavkin reviewed 2023-11-01 15:56:58 +08:00
@ -727,0 +733,4 @@
let up_destinations = up_destinations.clone();
let aux_mutex = aux_mutex.clone();
let routing_table = drtio_routing_table.clone();
async move {

isn't there a way to reuse the idle kernel start-up code?

isn't there a way to reuse the idle kernel start-up code?

there might be, let me have a look!

there might be, let me have a look!
srenblad force-pushed idle_kernel_rework_simple from d77f141c3c to 1ab13f5799 2023-11-02 12:21:35 +08:00 Compare

@esavkin see latest push reusing startup and idle kernel code.

@esavkin see latest push reusing startup and idle kernel code.

@esavkin see latest push reusing startup and idle kernel code.

Looks fine to me, except the wording. The new function is not exactly flashing. I would say it better be some verb, that would represent something like starting the kernel from config.
Let's wait for other reviews.

> @esavkin see latest push reusing startup and idle kernel code. Looks fine to me, except the wording. The new function is not exactly flashing. I would say it better be some verb, that would represent something like `starting the kernel from config`. Let's wait for other reviews.
srenblad changed title from runtime.comms.rs: run idle kernel on start-up to idle kernel changes: run on startup, flashing new kernel after startup 2023-11-02 13:01:31 +08:00

Looks fine to me, except the wording. The new function is not exactly flashing.

I don't think the flash_kernel_worker in session.rs does either. If I was to guess, I would say the original naming is based on the fact that it loads from the flash (ie config) not that it flashes. host_kernel_worker does the same thing but for experiment runs.

> Looks fine to me, except the wording. The new function is not exactly flashing. I don't think the `flash_kernel_worker` in session.rs does either. If I was to guess, I would say the original naming is based on the fact that it loads from the flash (ie config) not that it flashes. `host_kernel_worker` does the same thing but for experiment runs.
sb10q reviewed 2023-11-07 13:50:07 +08:00
@ -641,0 +652,4 @@
info!("Loading {}", config_key);
let _ = load_kernel(&buffer, &control, None)
.await.map_err(|_| warn!("Error loading {}", config_key));
info!("Running idle kernel");

It's not always the idle.

It's not always the idle.
srenblad changed title from idle kernel changes: run on startup, flashing new kernel after startup to WIP: idle kernel changes: run on startup, flashing new kernel after startup 2024-03-01 14:44:34 +08:00
srenblad force-pushed idle_kernel_rework_simple from 1ab13f5799 to ff2e95c35e 2024-03-06 11:10:44 +08:00 Compare
srenblad force-pushed idle_kernel_rework_simple from ff2e95c35e to 16b0d258c5 2024-03-06 12:03:39 +08:00 Compare
srenblad changed title from WIP: idle kernel changes: run on startup, flashing new kernel after startup to idle kernel changes: run on startup, flashing new kernel after startup 2024-03-06 15:11:37 +08:00
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
You can also view command line instructions.

Step 1:

From your project repository, check out a new branch and test the changes.
git checkout -b srenblad-idle_kernel_rework_simple master
git pull idle_kernel_rework_simple

Step 2:

Merge the changes and update on Gitea.
git checkout master
git merge --no-ff srenblad-idle_kernel_rework_simple
git push origin master
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/artiq-zynq#276
There is no content yet.