All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 0/5] migration: Dynamic cpu throttling for auto-converge
@ 2015-09-04 16:26 Jason J. Herne
  2015-09-04 16:26 ` [Qemu-devel] [PATCH v6 1/5] cpu: Provide vcpu throttling interface Jason J. Herne
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Jason J. Herne @ 2015-09-04 16:26 UTC (permalink / raw)
  To: afaerber, amit.shah, dgilbert, borntraeger, quintela, qemu-devel,
	pbonzini
  Cc: Jason J. Herne

This patch set provides a new method for throttling a vcpu and makes use of said
method to dynamically increase cpu throttling during an autoconverge
migration until the migration completes.

This work is related to the following discussion:
https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg00287.html

Changelog
-----------
v6
- Updated all refs to Qemu v2.4 to 2.5.
- Corrected error in API documentation.
- Added default values to .json documentation
v5
- Add cpu->throttle_thread_scheduled flag to prevent callbacks from stacking up
- Correct error in formula used to reset the timer
- Add atomic operations to protect throttle_percentage
- Make use of cpu_throttle_get_percentage() instead of accessing data directly
- Various small formatting/style fixes
v4
- Switch to a static timer
- Use QEMU_CLOCK_VIRTUAL_RT instead of QEMU_CLOCK_REALTIME
- Get rid of throttle_timer_stop, use throttle_percentage = 0 instead
- Calculate throttle_ratio directly in cpu_throttle_thread
- Consolidate timer mod operations to single function
- Remove some unneeded cpu_throttle_active() checks
- Check for throttle_percentage == 0 in cpu_throttle_thread
- Change throttle_percentage to unsigned int
- Renamed cpu_throttle_timer_pop to cpu_throttle_timer_tick
v3
- Cpu throttling parameters moved from CPUState to global scope
- Throttling interface now uses a percentage instead of ratio
- Migration parameters added to allow tweaking of how aggressive throttling is
- Add throttle active check to the throttle stop routine.
- Remove asserts from throttle start/stop functions and instead force the input
  to fall within the acceptable range
- Rename cpu_throttle_start to cpu_throttle_set to better describe its purpose
- Remove unneeded object casts
- Fixed monitor output formatting
- Comment cleanups
v2
- Add cpu throttle ratio output to hmp/qmp info/query migrate commands
v1
- Initial

Jason J. Herne (5):
  cpu: Provide vcpu throttling interface
  migration: Parameters for auto-converge cpu throttling
  migration: Dynamic cpu throttling for auto-converge
  qmp/hmp: Add throttle ratio to query-migrate and info migrate
  migration: Disambiguate MAX_THROTTLE

 arch_init.c           | 88 ++++++++++++++++++---------------------------------
 cpus.c                | 78 +++++++++++++++++++++++++++++++++++++++++++++
 hmp.c                 | 21 ++++++++++++
 include/qom/cpu.h     | 42 ++++++++++++++++++++++++
 migration/migration.c | 57 +++++++++++++++++++++++++++++++--
 qapi-schema.json      | 40 ++++++++++++++++++++---
 6 files changed, 262 insertions(+), 64 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-09-07 14:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-04 16:26 [Qemu-devel] [PATCH v6 0/5] migration: Dynamic cpu throttling for auto-converge Jason J. Herne
2015-09-04 16:26 ` [Qemu-devel] [PATCH v6 1/5] cpu: Provide vcpu throttling interface Jason J. Herne
2015-09-07 12:53   ` Paolo Bonzini
2015-09-07 14:08     ` Andreas Färber
2015-09-04 16:26 ` [Qemu-devel] [PATCH v6 2/5] migration: Parameters for auto-converge cpu throttling Jason J. Herne
2015-09-04 16:26 ` [Qemu-devel] [PATCH v6 3/5] migration: Dynamic cpu throttling for auto-converge Jason J. Herne
2015-09-04 16:26 ` [Qemu-devel] [PATCH v6 4/5] qmp/hmp: Add throttle ratio to query-migrate and info migrate Jason J. Herne
2015-09-04 16:26 ` [Qemu-devel] [PATCH v6 5/5] migration: Disambiguate MAX_THROTTLE Jason J. Herne

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.