On 07.08.2023 20:51, Jason Andryuk wrote:
> Add a union and struct so that most of the scaling variables of struct
> xen_get_cpufreq_para are within in a binary-compatible layout.  This
> allows cppc_para to live in the larger union and use uint32_ts - struct
> xen_cppc_para will be 10 uint32_t's.
> 
> The new scaling struct is 3 * uint32_t + 16 bytes CPUFREQ_NAME_LEN + 4 *
> uint32_t for xen_ondemand = 11 uint32_t.  That means the old size is
> retained, int32_t turbo_enabled doesn't move and it's binary compatible.
> 
> The out-of-context memcpy() in xc_get_cpufreq_para() now handles the
> copying of the fields removed there.
> 
> Signed-off-by: Jason Andryuk <[email protected]>
> Reviewed-by: Jan Beulich <[email protected]>
> ---
> v8:
> Add BUILD_BUG_ON checks for structs xc_get_cpufreq_para & xen_get_cpufreq_para
> 
> v6:
> Add Jan's Reviewed-by
> 
> v5:
> Expand commit message
> Change comment to driver/governor
> ---
>  tools/include/xenctrl.h     | 22 ++++++++++--------
>  tools/libs/ctrl/xc_pm.c     | 46 ++++++++++++++++++++++++++++++++-----
>  tools/misc/xenpm.c          | 24 +++++++++----------
>  xen/drivers/acpi/pmstat.c   | 27 +++++++++++-----------
>  xen/include/public/sysctl.h | 22 ++++++++++--------
>  5 files changed, 92 insertions(+), 49 deletions(-)

Since the note in the cover letter may not be noticed - this wants looking at by
a tool stack person.

Thanks, Jan

Reply via email to