Skip to content

Conversation

@ben-grande
Copy link
Contributor

Based on top of #660


Mostly finished, except the deletion of the feature that needs to be adjusted on both ends (see TODOS). Didn't test yet.

@codecov
Copy link

codecov bot commented Jun 4, 2025

Codecov Report

Attention: Patch coverage is 63.90244% with 148 lines in your changes missing coverage. Please review.

Project coverage is 70.41%. Comparing base (37e49a1) to head (0dfefdc).

Files with missing lines Patch % Lines
qubes/vm/dispvm.py 45.13% 79 Missing ⚠️
qubes/vm/mix/dvmtemplate.py 83.83% 27 Missing ⚠️
qubes/vm/adminvm.py 30.00% 14 Missing ⚠️
qubes/qmemman/systemstate.py 0.00% 9 Missing ⚠️
qubes/vm/qubesvm.py 0.00% 9 Missing ⚠️
qubes/app.py 76.47% 4 Missing ⚠️
qubes/api/admin.py 90.00% 2 Missing ⚠️
qubes/api/internal.py 66.66% 2 Missing ⚠️
qubes/ext/gui.py 50.00% 1 Missing ⚠️
qubes/log.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #684      +/-   ##
==========================================
- Coverage   70.60%   70.41%   -0.20%     
==========================================
  Files          61       61              
  Lines       12984    13327     +343     
==========================================
+ Hits         9168     9384     +216     
- Misses       3816     3943     +127     
Flag Coverage Δ
unittests 70.41% <63.90%> (-0.20%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ben-grande ben-grande force-pushed the preload-dispvm-dom0-feat branch 4 times, most recently from a9fb929 to 0dfefdc Compare June 6, 2025 01:41
Is a disposable state, it runs on the background and awaits to intercept
calls made to disposables of the same disposable template, having faster
execution times. Information of the design choices is present in the
DispVM class.

To use them, set the number of allowed preloaded for each disposable
template with the feature "preload-dispvm-max". In case there is not
enough available memory, the maximum won't be preloaded at this
instance, but will retry later on at any relevant event, such as a
preloaded being used or a normal qube being requested while a preload
can be created.

GUI daemon requires a running qube to connect to the GUI agent in the
qube, because of that, auto starting the preload mechanism only happens
after a GUI login.

Preloaded qubes are hidden from GUI applications until the qube itself
is requested to be used. Any GUI application that allows opening
applications on preloaded qubes before they are marked as used is
considered a bug. Applications that autostart on the qube are shown
before the qube has its state interrupted, it is also a bug but that
can't be fixed easily.

For: QubesOS/qubes-issues#1512
For: QubesOS/qubes-issues#9918
@ben-grande ben-grande closed this Jun 6, 2025
@ben-grande ben-grande force-pushed the preload-dispvm-dom0-feat branch from 0dfefdc to 2be985a Compare June 6, 2025 15:28
@ben-grande
Copy link
Contributor Author

The PR was closed automatically by Github due to rebase, The tooltip of the button Reopen and comment:

The branch was force-pushed or recreated

Please reopen.

@marmarek
Copy link
Member

marmarek commented Jun 6, 2025

Looks like you need open a new one...

@marmarek
Copy link
Member

marmarek commented Jun 6, 2025

or maybe I can now?

@marmarek
Copy link
Member

marmarek commented Jun 6, 2025

nope, the button is inactive...

@ben-grande
Copy link
Contributor Author

Not great, because I am rebasing on top of #660 everytime there is a commit squashed there... I will wait to open a new PR after that PR is merged so rebasing won't be necessary anymore.

@ben-grande
Copy link
Contributor Author

Successor: #686

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants