Just a gentle ping for the above patch series.
Anthony Harivel, May 22, 2024 at 17:34:
> Dear maintainers,
>
> First of all, thank you very much for your review of my patch
> [1].
>
> In this version (v6), I have attempted to address all the problems
> addressed by Daniel and Paolo during the last review.
>
> However, two open questions remains unanswered that would require the
> attention of a x86 maintainers:
>
> 1)Should I move from -kvm to -cpu the rapl feature ? [2]
>
> 2)Should I already rename to "rapl_vmsr_*" in order to anticipate the
> futur TMPI architecture ? [end of 3]
>
> Thank you again for your continued guidance.
>
> v5 -> v6
> --------
> - Better error consistency in qio_channel_get_peerpid()
> - Memory leak g_strdup_printf/g_build_filename corrected
> - Renaming several struct with "vmsr_*" for better namespace
> - Renamed several struct with "guest_*" for better comprehension
> - Optimization suggerate from Daniel
> - Crash problem solved [4]
>
> v4 -> v5
> --------
>
> - correct qio_channel_get_peerpid: return pid = -1 in case of error
> - Vmsr_helper: compile only for x86
> - Vmsr_helper: use qio_channel_read/write_all
> - Vmsr_helper: abandon user/group
> - Vmsr_energy.c: correct all error_report
> - Vmsr thread: compute default socket path only once
> - Vmsr thread: open socket only once
> - Pass relevant QEMU CI
>
> v3 -> v4
> --------
>
> - Correct memory leaks with AddressSanitizer
> - Add sanity check for QEMU and qemu-vmsr-helper for checking if host is
> INTEL and if RAPL is activated.
> - Rename poor variables naming for easier comprehension
> - Move code that checks Host before creating the VMSR thread
> - Get rid of libnuma: create function that read sysfs for reading the
> Host topology instead
>
> v2 -> v3
> --------
>
> - Move all memory allocations from Clib to Glib
> - Compile on *BSD (working on Linux only)
> - No more limitation on the virtual package: each vCPU that belongs to
> the same virtual package is giving the same results like expected on
> a real CPU.
> This has been tested topology like:
> -smp 4,sockets=2
> -smp 16,sockets=4,cores=2,threads=2
>
> v1 -> v2
> --------
>
> - To overcome the CVE-2020-8694 a socket communication is created
> to a priviliged helper
> - Add the priviliged helper (qemu-vmsr-helper)
> - Add SO_PEERCRED in qio channel socket
>
> RFC -> v1
> ---------
>
> - Add vmsr_* in front of all vmsr specific function
> - Change malloc()/calloc()... with all glib equivalent
> - Pre-allocate all dynamic memories when possible
> - Add a Documentation of implementation, limitation and usage
>
> Best regards,
> Anthony
>
> [1]: https://mail.gnu.org/archive/html/qemu-devel/2024-04/msg01570.html
> [2]: https://mail.gnu.org/archive/html/qemu-devel/2024-04/msg03947.html
> [3]: https://mail.gnu.org/archive/html/qemu-devel/2024-04/msg02350.html
> [4]: https://mail.gnu.org/archive/html/qemu-devel/2024-04/msg02481.html
>
> Anthony Harivel (3):
> qio: add support for SO_PEERCRED for socket channel
> tools: build qemu-vmsr-helper
> Add support for RAPL MSRs in KVM/Qemu
>
> accel/kvm/kvm-all.c | 27 ++
> contrib/systemd/qemu-vmsr-helper.service | 15 +
> contrib/systemd/qemu-vmsr-helper.socket | 9 +
> docs/specs/index.rst | 1 +
> docs/specs/rapl-msr.rst | 155 +++++++
> docs/tools/index.rst | 1 +
> docs/tools/qemu-vmsr-helper.rst | 89 ++++
> include/io/channel.h | 21 +
> include/sysemu/kvm_int.h | 32 ++
> io/channel-socket.c | 28 ++
> io/channel.c | 13 +
> meson.build | 7 +
> target/i386/cpu.h | 8 +
> target/i386/kvm/kvm.c | 431 +++++++++++++++++-
> target/i386/kvm/meson.build | 1 +
> target/i386/kvm/vmsr_energy.c | 337 ++++++++++++++
> target/i386/kvm/vmsr_energy.h | 99 +++++
> tools/i386/qemu-vmsr-helper.c | 530 +++++++++++++++++++++++
> tools/i386/rapl-msr-index.h | 28 ++
> 19 files changed, 1831 insertions(+), 1 deletion(-)
> create mode 100644 contrib/systemd/qemu-vmsr-helper.service
> create mode 100644 contrib/systemd/qemu-vmsr-helper.socket
> create mode 100644 docs/specs/rapl-msr.rst
> create mode 100644 docs/tools/qemu-vmsr-helper.rst
> create mode 100644 target/i386/kvm/vmsr_energy.c
> create mode 100644 target/i386/kvm/vmsr_energy.h
> create mode 100644 tools/i386/qemu-vmsr-helper.c
> create mode 100644 tools/i386/rapl-msr-index.h
>
> --
> 2.45.1