- Apr 25, 2023
-
-
Implement a bandwidth controller according to the Capacity and Bandwidth QoS Register Interface (CBQRI) which supports these capabilities: - Number of access types: 2 (code and data) - Usage monitoring operations: CONFIG_EVENT, READ_COUNTER - Event IDs supported: None, Total read/write byte count, Total read byte count, Total write byte count - Bandwidth allocation operations: CONFIG_LIMIT, READ_LIMIT Link: https://github.com/riscv-non-isa/riscv-cbqri/blob/main/riscv-cbqri.pdf Signed-off-by:
Nicolas Pitre <npitre@baylibre.com> Signed-off-by:
Drew Fustini <dfustini@baylibre.com>
-
Implement a capacity controller according to the Capacity and Bandwidth QoS Register Interface (CBQRI) which supports these capabilities: - Number of access types: 2 (code and data) - Usage monitoring operations: CONFIG_EVENT, READ_COUNTER - Event IDs supported: None, Occupancy - Capacity allocation ops: CONFIG_LIMIT, READ_LIMIT, FLUSH_RCID Link: https://github.com/riscv-non-isa/riscv-cbqri/blob/main/riscv-cbqri.pdf Signed-off-by:
Nicolas Pitre <npitre@baylibre.com> Signed-off-by:
Drew Fustini <dfustini@baylibre.com>
-
Define structs to represent the hardware capabilities of capacity and bandwidth controllers according to the RISC-V Capacity and Bandwidth QoS Register Interface (CBQRI). Link: https://github.com/riscv-non-isa/riscv-cbqri/blob/main/riscv-cbqri.pdf Signed-off-by:
Nicolas Pitre <npitre@baylibre.com> Signed-off-by:
Drew Fustini <dfustini@baylibre.com>
-
Implement the sqoscfg CSR defined by the Ssqosid ISA extension (Supervisor-mode Quality of Service ID). The CSR contains two fields: - Resource Control ID (RCID) used determine resource allocation - Monitoring Counter ID (MCID) used to track resource usage The CSR is defined for S-mode but accessing it when V=1 shall cause a virtual instruction exception. Implement this behavior by calling the hmode predicate. Link: https://github.com/riscv-non-isa/riscv-cbqri/blob/main/riscv-cbqri.pdf Signed-off-by:
Kornel Dulęba <mindal@semihalf.com> [dfustini: rebase on v8.0.50, reword commit message] Signed-off-by:
Drew Fustini <dfustini@baylibre.com>
-
- Apr 24, 2023
-
-
https://gitlab.com/juan.quintela/qemuRichard Henderson authored
Migration Pull request Everything that was reviewed since last PULL request: - fix to control flow (eric) - rearrange of hmp commands (juan) - Make capabilities more consistent and coherent (juan) Not all of them reviewed yet, so only the ones reviewed. Later, Juan. PD. I am waiting to finish review of the compression fixes to send them. # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmRGf0kACgkQ9IfvGFhy # 1yNojRAAhvOZoYRpTizbSo7wOr2TpO4F1R/opWECubBvw3/yTo3ifsVjovRo/nxe # zmCXnY/ykqxskb/OMNyLZQYG4MPT24nyf7dhT3VxcFjTYsaNU59yvJoBtvy7Oq5h # 3Yk0459eKmsP39IXFlAMMRBwX+Hu3aE/8xAAHOowAhkmDkMFYjf7I1Lxpuarbhp+ # k9O5eqdNchG21YUzWXUe4ivAWqZmvzXtkwCp+XJ/KizjIEKgsm8HO1nwm5mtpmnu # SS9Kkf957jYHqK73YXQhUV+iQ0kCVpclBPfZc2KuzudPi/aMG6LEVKfV//z5KIAz # amME/6D1oSBfpgtqoCCPELdNfZOz+ZIa+XJzXlWkuiBDu9yNpUP339EVClmStwFu # 1UAOJIs8VUjPr9zTItgCDjZ17nh4Q0I04aMGuxgQIu82e8CTgS/QrnH2Tr2lUoMO # QLgYAetVIDGVVFAA9Clba4C7AbS5hBeWMnd9Qd4cP93d6Z/C65xUv0a9mI7edpMb # RNbvg73ZZCb6tye25cPSr07VaGTS+TELVMEh9RX3KZrfMTsHfGQ/ZHZv9wqJrQ04 # 0wCidqBIbBk+BN8AtJ9vwqtPpL/Nf/BwDKPiwOVuZHCcrP+veXtlKb00SwNpJwkN # x3Ld4cq22ZLeqO4dMueK16ij0ZpuXsF7jM/ptEvxrw6oxh/6xYQ= # =g5gx # -----END PGP SIGNATURE----- # gpg: Signature made Mon 24 Apr 2023 02:08:25 PM BST # gpg: using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723 # gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [undefined] # gpg: aka "Juan Quintela <quintela@trasno.org>" [undefined] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03 4B82 F487 EF18 5872 D723 * tag 'migration-20230424-pull-request' of https://gitlab.com/juan.quintela/qemu : (30 commits) migration: Create migrate_max_bandwidth() function migration: Move migrate_postcopy() to options.c migration: Create migrate_cpu_throttle_tailslow() function migration: Create migrate_cpu_throttle_increment() function migration: Create migrate_cpu_throttle_initial() to option.c migration: Move migrate_announce_params() to option.c migration: Create migrate_max_cpu_throttle() migration: Create migrate_checkpoint_delay() migration: Create migrate_throttle_trigger_threshold() migration: Move migrate_use_block_incremental() to option.c migration: Use migrate_max_postcopy_bandwidth() migration: Move parameters functions to option.c migration: Move migrate_cap_set() to options.c migration: Move qmp_migrate_set_capabilities() to options.c migration: Move qmp_query_migrate_capabilities() to options.c migration: Move migrate_caps_check() to options.c migration: Create migrate_rdma_pin_all() function migration: Move migrate_use_return() to options.c migration: Move migrate_use_block() to options.c migration: Move migrate_use_xbzrle() to options.c ... Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de> --- Fix extra whitespace (fabiano)
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de>
-
Juan Quintela authored
To be consistent with every other parameter, rename to migrate_block_incremental(). Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> --- Fixed missing space after comma (fabiano)
-
Juan Quintela authored
Once that we are there, we rename the function to migrate_return_path() to be consistent with all other capabilities. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Once that we are there, we rename the function to migrate_block() to be consistent with all other capabilities. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Once that we are there, we rename the function to migrate_xbzrle() to be consistent with all other capabilities. We change the type to return bool also for consistency. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Once that we are there, we rename the function to migrate_zero_copy_send() to be consistent with all other capabilities. We can remove the CONFIG_LINUX guard. We already check that we can't setup this capability in migrate_caps_check(). Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Once that we are there, we rename the function to migrate_multifd() to be consistent with all other capabilities. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Once that we are there, we rename the function to migrate_events() to be consistent with all other capabilities. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Once that we are there, we rename the function to migrate_compress() to be consistent with all other capabilities. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
Once that we are there, we rename the function to migrate_colo() to be consistent with all other capabilities. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
We move there all capabilities helpers from migration.c. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Dr. David Alan Gilbert <dgilbert@redhat.com> --- Following David advise: - looked through the history, capabilities are newer than 2012, so we can remove that bit of the header. - This part is posterior to Anthony. Original Author is Orit. Once there, I put myself. Peter Xu also did quite a bit of work here. Anyone else wants/needs to be there? I didn't search too hard because nobody asked before to be added. What do you think?
-
Juan Quintela authored
And remove the convoluted use of qmp_migrate_set_capabilities() to enable disable MIGRATION_CAPABILITY_BLOCK. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Fabiano Rosas <farosas@suse.de>
-
Juan Quintela authored
It has nothing to do with migration, except for the "migrate" in the name of the command. Move it with the rest of the ui commands. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org>
-
Juan Quintela authored
It is only used there, so we can make it static. Once there, remove spice.h that it is not used. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Peter Xu <peterx@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> --- fix David Edmonson ui/qemu-spice.h unintended removal
-
Eric Blake authored
No need to declare a temporary variable. Suggested-by:
Juan Quintela <quintela@redhat.com> Fixes: 1df36e8c6289 ("migration: Handle block device inactivation failures better") Signed-off-by:
Eric Blake <eblake@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
https://gitlab.com/juan.quintela/qemuRichard Henderson authored
Migration Pull request (take 2) Remove the two atomic patches that broke mips32. Please, apply. # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmRGYTkACgkQ9IfvGFhy # 1yMD5RAApL8bJTMpmkZ8afxG124/CID7fvg/WMp3vOTG/6923XZHfosUwqrCCvzN # 8qfSfOl4P5Gtv1dOU+ZBcgoFS3tj00Ud2YhcZiSVUy5LZPJNJEfv4YzIErDTJq3I # wcv/CgHvK1CKJ5DZ1g9hqnRvw9qYiodDEHS7UxvhGzckFExHps2oWt9nDuEZefKV # XptOX7YDFYmWE87fp8+rQMYGZEN/6Cc7p4HmSt9I11CgLbeaqTpmKuwTv89PU9qV # 7/X9kfoHNsKsVKw5WosEdRvEqhVQbvcCCxq+TGpeQz6d5U2mY7RVxQSNJxXNdD3P # uz7uannx+UhESgzf5GnwOMIcxWD6UMAcDt349IAWFbq5d1QGaXJ9fVVHVJDV1Irl # XHqxkugNMxRVZ8hQy5gSE6UTpeIjkIpSoZGnGS7E/iLMZHZBgv7s5VK21mYxn/QF # F9g3Ewo2lF+kpQ/ZEnQ9mFyCYtqOHOAOLAUa7/6WdGnUMuqQ47Fh+jbb+KdEyCLg # l7yXk2gXAb8SN6957Tlvo9okOB4NzhDPDXgvewAG/1yW4zL9hA+YCMvEvy90N8Be # rRKO7H9YlsW4wKjA//i2YNAbtaZN5+zeAS39m0exYmXA54AMufjWq/a7Ya/ix5Jo # 452LEz5hA4ckXXtP715pKQjqafxWXbHSS1qw9LBfMYr5TEEWC6c= # =JTxg # -----END PGP SIGNATURE----- # gpg: Signature made Mon 24 Apr 2023 12:00:09 PM BST # gpg: using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723 # gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [undefined] # gpg: aka "Juan Quintela <quintela@trasno.org>" [undefined] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03 4B82 F487 EF18 5872 D723 * tag 'migration-20230420-pull-request' of https://gitlab.com/juan.quintela/qemu : migration: Pass migrate_caps_check() the old and new caps migration: rename enabled_capabilities to capabilities migration/postcopy: Detect file system on dest host vl.c: Create late backends before migration object util/mmap-alloc: qemu_fd_getfs() migration: Handle block device inactivation failures better migration: Rename normal to normal_pages migration: Rename duplicate to zero_pages migration: Make postcopy_requests atomic migration: Make dirty_sync_count atomic migration: Make downtime_bytes atomic migration: Make precopy_bytes atomic migration: Make dirty_sync_missed_zero_copy atomic migration: Make multifd_bytes atomic migration: Update atomic stats out of the mutex migration: Merge ram_counters and ram_atomic_counters migration: remove extra whitespace character for code style Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Juan Quintela authored
We used to pass the old capabilities array and the new capabilities as a list. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Juan Quintela authored
It is clear from the context what that means, and such a long name with the extra long names of the capabilities make very difficilut to stay inside the 80 columns limit. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
-
Peter Xu authored
Postcopy requires the memory support userfaultfd to work. Right now we check it but it's a bit too late (when switching to postcopy migration). Do that early right at enabling of postcopy. Note that this is still only a best effort because ramblocks can be dynamically created. We can add check in hostmem creations and fail if postcopy enabled, but maybe that's too aggressive. Still, we have chance to fail the most obvious where we know there's an existing unsupported ramblock. Signed-off-by:
Peter Xu <peterx@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Peter Xu authored
The migration object may want to check against different types of memory when initialized. Delay the creation to be after late backends. Signed-off-by:
Peter Xu <peterx@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
David Hildenbrand <david@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-