mbox series

[v4,0/5] python/qemu: New accel module and improvements

Message ID 20191216191438.93418-1-wainersm@redhat.com (mailing list archive)
Headers show
Series python/qemu: New accel module and improvements | expand

Message

Wainer dos Santos Moschetta Dec. 16, 2019, 7:14 p.m. UTC
On commit abf0bf998dcb John Snow moved some code out of __init__.py
to machine.py. kvm_available() remained in though. So on patch 01
I continue his work by creating a home for that method (the new
'accel' module). Honestly I was unsure about whether move the code
to any existing module or make a new, but since I am adding more
methods related with accelerators then I thought they would deserve a
module.

The patches 02-04 introduce new helpers and make improvements. Later
I intend to use those methods on the acceptance tests such as
to automatically set the accelerator in QEMUMachine VM via Avocado
tags, and skip the test if the accelerator is not available.

Patch 05 just remove unneeded imports in __init__.py

Changes v3 -> v4:
- Cleaned up Review-by statements (patch 02) [crosa]
- Let LOG.debug() format the log message (patch 02) [crosa]

Changes v2 -> v3:
- Refactor subprocess.check_output() call (patch 02) [crosa]
Not using shell=True
Pass universal_newlines=True so don't need to decode() the output
Do not check if returned accelerator's name is empty string
- New patch 05 [crosa]
On patch 01 Cleber suggested to remove unneeded imports in
python/qemu/__init__.py

Changes v1 -> v2:
- Removed 'Based on qmp.py' from python/qemu/accel.py
(patch 01) [alex.bennee]
- logging added only when used on python/qemu/accel.py
(patch 02) [alex.bennee]

Git:
- Tree: https://github.com/wainersm/qemu
- Branch: python_accel_v4

CI:
- Travis (RUNNING): https://travis-ci.org/wainersm/qemu/builds/625827750


Wainer dos Santos Moschetta (5):
  python/qemu: Move kvm_available() to its own module
  python/qemu: accel: Add list_accel() method
  python/qemu: accel: Strengthen kvm_available() checks
  python/qemu: accel: Add tcg_available() method
  python/qemu: Remove unneeded imports in __init__

 python/qemu/__init__.py | 24 -------------
 python/qemu/accel.py    | 77 +++++++++++++++++++++++++++++++++++++++++
 tests/vm/basevm.py      |  2 +-
 3 files changed, 78 insertions(+), 25 deletions(-)
 create mode 100644 python/qemu/accel.py

Comments

Cleber Rosa Dec. 16, 2019, 11:44 p.m. UTC | #1
On Mon, Dec 16, 2019 at 04:14:33PM -0300, Wainer dos Santos Moschetta wrote:
> On commit abf0bf998dcb John Snow moved some code out of __init__.py
> to machine.py. kvm_available() remained in though. So on patch 01
> I continue his work by creating a home for that method (the new
> 'accel' module). Honestly I was unsure about whether move the code
> to any existing module or make a new, but since I am adding more
> methods related with accelerators then I thought they would deserve a
> module.
> 
> The patches 02-04 introduce new helpers and make improvements. Later
> I intend to use those methods on the acceptance tests such as
> to automatically set the accelerator in QEMUMachine VM via Avocado
> tags, and skip the test if the accelerator is not available.
> 
> Patch 05 just remove unneeded imports in __init__.py
>

FIY, queued all patches on my python-next branch.

- Cleber.