[libvirt PATCH v5 0/7] cgroup and thread management in ch driver

Praveen K Paladugu posted 7 patches 2 years, 2 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20220125161959.2805257-1-prapal@linux.microsoft.com
src/ch/ch_conf.c               |   2 +
src/ch/ch_conf.h               |   4 +-
src/ch/ch_domain.c             |  64 ++++
src/ch/ch_domain.h             |  18 +-
src/ch/ch_driver.c             | 590 +++++++++++++++++++++++++++++++++
src/ch/ch_monitor.c            | 156 +++++++++
src/ch/ch_monitor.h            |  56 +++-
src/ch/ch_process.c            | 385 ++++++++++++++++++++-
src/ch/ch_process.h            |   3 +
src/hypervisor/domain_cgroup.c | 457 ++++++++++++++++++++++++-
src/hypervisor/domain_cgroup.h |  72 ++++
src/libvirt_private.syms       |  14 +-
src/qemu/qemu_cgroup.c         | 413 +----------------------
src/qemu/qemu_cgroup.h         |  11 -
src/qemu/qemu_driver.c         |  14 +-
src/qemu/qemu_hotplug.c        |   7 +-
src/qemu/qemu_process.c        |  24 +-
17 files changed, 1835 insertions(+), 455 deletions(-)
[libvirt PATCH v5 0/7] cgroup and thread management in ch driver
Posted by Praveen K Paladugu 2 years, 2 months ago
This patchset adds support for cgroup management of ch threads. This version
correctly manages cgroups for vcpu and emulator threads created by ch. cgroup
management for iothreads is not yet supported.

Along with cgroup management, this patchset also enables support for pinning
vcpu and emulator threads to selected host cpus.

v5:
* bumped the verion of callbacks in ch driver to 8.1.0

v4:
* addressed all open comments in v3
* dropped all the merged commits

v3:
* addrressed all the formatting comments in v2 patch set
* dropped indentation patches are they do not adhere to libvirt coding style
* fixed build issue in qemu driver that was introduced in v2

Praveen K Paladugu (3):
  qemu,hypervisor: refactor some cgroup mgmt methods
  ch_process: Setup emulator and iothread settings
  ch_driver: emulator threadinfo & pinning callbacks

Vineeth Pillai (4):
  ch: methods for cgroup mgmt in ch driver
  ch_driver,ch_domain: vcpupin callback in ch driver
  ch_driver: enable typed param string for numatune
  ch_driver: add numatune callbacks for CH driver

 src/ch/ch_conf.c               |   2 +
 src/ch/ch_conf.h               |   4 +-
 src/ch/ch_domain.c             |  64 ++++
 src/ch/ch_domain.h             |  18 +-
 src/ch/ch_driver.c             | 590 +++++++++++++++++++++++++++++++++
 src/ch/ch_monitor.c            | 156 +++++++++
 src/ch/ch_monitor.h            |  56 +++-
 src/ch/ch_process.c            | 385 ++++++++++++++++++++-
 src/ch/ch_process.h            |   3 +
 src/hypervisor/domain_cgroup.c | 457 ++++++++++++++++++++++++-
 src/hypervisor/domain_cgroup.h |  72 ++++
 src/libvirt_private.syms       |  14 +-
 src/qemu/qemu_cgroup.c         | 413 +----------------------
 src/qemu/qemu_cgroup.h         |  11 -
 src/qemu/qemu_driver.c         |  14 +-
 src/qemu/qemu_hotplug.c        |   7 +-
 src/qemu/qemu_process.c        |  24 +-
 17 files changed, 1835 insertions(+), 455 deletions(-)

-- 
2.27.0


Re: [libvirt PATCH v5 0/7] cgroup and thread management in ch driver
Posted by Michal Prívozník 2 years, 2 months ago
On 1/25/22 17:19, Praveen K Paladugu wrote:
> This patchset adds support for cgroup management of ch threads. This version
> correctly manages cgroups for vcpu and emulator threads created by ch. cgroup
> management for iothreads is not yet supported.
> 
> Along with cgroup management, this patchset also enables support for pinning
> vcpu and emulator threads to selected host cpus.
> 

And also does a lot of formatting changes back and forth. I'm not fond
of that really. If you want to clean up the formatting please do so in a
separate patch(set).

>  src/ch/ch_conf.c               |   2 +
>  src/ch/ch_conf.h               |   4 +-
>  src/ch/ch_domain.c             |  64 ++++
>  src/ch/ch_domain.h             |  18 +-
>  src/ch/ch_driver.c             | 590 +++++++++++++++++++++++++++++++++
>  src/ch/ch_monitor.c            | 156 +++++++++
>  src/ch/ch_monitor.h            |  56 +++-
>  src/ch/ch_process.c            | 385 ++++++++++++++++++++-
>  src/ch/ch_process.h            |   3 +
>  src/hypervisor/domain_cgroup.c | 457 ++++++++++++++++++++++++-
>  src/hypervisor/domain_cgroup.h |  72 ++++
>  src/libvirt_private.syms       |  14 +-
>  src/qemu/qemu_cgroup.c         | 413 +----------------------
>  src/qemu/qemu_cgroup.h         |  11 -
>  src/qemu/qemu_driver.c         |  14 +-
>  src/qemu/qemu_hotplug.c        |   7 +-
>  src/qemu/qemu_process.c        |  24 +-
>  17 files changed, 1835 insertions(+), 455 deletions(-)
> 

Nevertheless, I'm fixing all the issues I've raised and merging.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal

Re: [libvirt PATCH v5 0/7] cgroup and thread management in ch driver
Posted by Praveen K Paladugu 2 years, 2 months ago

On 1/28/2022 10:05 AM, Michal Prívozník wrote:
> On 1/25/22 17:19, Praveen K Paladugu wrote:
>> This patchset adds support for cgroup management of ch threads. This version
>> correctly manages cgroups for vcpu and emulator threads created by ch. cgroup
>> management for iothreads is not yet supported.
>>
>> Along with cgroup management, this patchset also enables support for pinning
>> vcpu and emulator threads to selected host cpus.
>>
> 
> And also does a lot of formatting changes back and forth. I'm not fond
> of that really. If you want to clean up the formatting please do so in a
> separate patch(set).

Michal,

My apologies for the churn related to formatting. I ran "GNU intend" 
these patches assuming that would correctly handle all the formatting.
That caused a ton of formatting issues, I tried to revert most of it.

Seems like I missed a few instances. I will pay attention to the 
formatting in the follow up submissions.


I took note of Persistent Def and handling of NUMA Nodeset in 
cloud-hypervisor. The original author for this patch is no longer with 
Microsoft. I will take some time to figure this out and submit patches 
are necessary.

Appreciate your support with merging this patch set.


> 
>>   src/ch/ch_conf.c               |   2 +
>>   src/ch/ch_conf.h               |   4 +-
>>   src/ch/ch_domain.c             |  64 ++++
>>   src/ch/ch_domain.h             |  18 +-
>>   src/ch/ch_driver.c             | 590 +++++++++++++++++++++++++++++++++
>>   src/ch/ch_monitor.c            | 156 +++++++++
>>   src/ch/ch_monitor.h            |  56 +++-
>>   src/ch/ch_process.c            | 385 ++++++++++++++++++++-
>>   src/ch/ch_process.h            |   3 +
>>   src/hypervisor/domain_cgroup.c | 457 ++++++++++++++++++++++++-
>>   src/hypervisor/domain_cgroup.h |  72 ++++
>>   src/libvirt_private.syms       |  14 +-
>>   src/qemu/qemu_cgroup.c         | 413 +----------------------
>>   src/qemu/qemu_cgroup.h         |  11 -
>>   src/qemu/qemu_driver.c         |  14 +-
>>   src/qemu/qemu_hotplug.c        |   7 +-
>>   src/qemu/qemu_process.c        |  24 +-
>>   17 files changed, 1835 insertions(+), 455 deletions(-)
>>
> 
> Nevertheless, I'm fixing all the issues I've raised and merging.

> 
> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
> 
> Michal

-- 
Regards,
Praveen K Paladugu


Re: [libvirt PATCH v5 0/7] cgroup and thread management in ch driver
Posted by Michal Prívozník 2 years, 2 months ago
On 2/1/22 18:22, Praveen K Paladugu wrote:
> 
> 
> On 1/28/2022 10:05 AM, Michal Prívozník wrote:
>> On 1/25/22 17:19, Praveen K Paladugu wrote:
>>> This patchset adds support for cgroup management of ch threads. This
>>> version
>>> correctly manages cgroups for vcpu and emulator threads created by
>>> ch. cgroup
>>> management for iothreads is not yet supported.
>>>
>>> Along with cgroup management, this patchset also enables support for
>>> pinning
>>> vcpu and emulator threads to selected host cpus.
>>>
>>
>> And also does a lot of formatting changes back and forth. I'm not fond
>> of that really. If you want to clean up the formatting please do so in a
>> separate patch(set).
> 
> Michal,
> 
> My apologies for the churn related to formatting. I ran "GNU intend"
> these patches assuming that would correctly handle all the formatting.
> That caused a ton of formatting issues, I tried to revert most of it.
> 
> Seems like I missed a few instances. I will pay attention to the
> formatting in the follow up submissions.

Usually it helps to have your favorite editor set up so that it formats
the code as you write it. This is more or less what I have in my ~/.vimrc:

  https://libvirt.org/coding-style.html#code-indentation

> 
> 
> I took note of Persistent Def and handling of NUMA Nodeset in
> cloud-hypervisor. The original author for this patch is no longer with
> Microsoft. I will take some time to figure this out and submit patches
> are necessary.
> 

Alright, thank you.

Michal

Re: [libvirt PATCH v5 0/7] cgroup and thread management in ch driver
Posted by Praveen K Paladugu 2 years, 2 months ago
Ping..

If this patch set is ready to be merged, I'd like to get started on next 
set.

Thank you,
Praveen K Paladugu


On 1/25/2022 10:19 AM, Praveen K Paladugu wrote:
> This patchset adds support for cgroup management of ch threads. This version
> correctly manages cgroups for vcpu and emulator threads created by ch. cgroup
> management for iothreads is not yet supported.
> 
> Along with cgroup management, this patchset also enables support for pinning
> vcpu and emulator threads to selected host cpus.
> 
> v5:
> * bumped the verion of callbacks in ch driver to 8.1.0
> 
> v4:
> * addressed all open comments in v3
> * dropped all the merged commits
> 
> v3:
> * addrressed all the formatting comments in v2 patch set
> * dropped indentation patches are they do not adhere to libvirt coding style
> * fixed build issue in qemu driver that was introduced in v2
> 
> Praveen K Paladugu (3):
>    qemu,hypervisor: refactor some cgroup mgmt methods
>    ch_process: Setup emulator and iothread settings
>    ch_driver: emulator threadinfo & pinning callbacks
> 
> Vineeth Pillai (4):
>    ch: methods for cgroup mgmt in ch driver
>    ch_driver,ch_domain: vcpupin callback in ch driver
>    ch_driver: enable typed param string for numatune
>    ch_driver: add numatune callbacks for CH driver
> 
>   src/ch/ch_conf.c               |   2 +
>   src/ch/ch_conf.h               |   4 +-
>   src/ch/ch_domain.c             |  64 ++++
>   src/ch/ch_domain.h             |  18 +-
>   src/ch/ch_driver.c             | 590 +++++++++++++++++++++++++++++++++
>   src/ch/ch_monitor.c            | 156 +++++++++
>   src/ch/ch_monitor.h            |  56 +++-
>   src/ch/ch_process.c            | 385 ++++++++++++++++++++-
>   src/ch/ch_process.h            |   3 +
>   src/hypervisor/domain_cgroup.c | 457 ++++++++++++++++++++++++-
>   src/hypervisor/domain_cgroup.h |  72 ++++
>   src/libvirt_private.syms       |  14 +-
>   src/qemu/qemu_cgroup.c         | 413 +----------------------
>   src/qemu/qemu_cgroup.h         |  11 -
>   src/qemu/qemu_driver.c         |  14 +-
>   src/qemu/qemu_hotplug.c        |   7 +-
>   src/qemu/qemu_process.c        |  24 +-
>   17 files changed, 1835 insertions(+), 455 deletions(-)
> 

-- 
Regards,
Praveen K Paladugu