[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 09/14 RESEND] xenpm: Print HWP parameters
On 10.05.2023 20:11, Jason Andryuk wrote: > On Mon, May 8, 2023 at 6:43 AM Jan Beulich <jbeulich@xxxxxxxx> wrote: >> On 01.05.2023 21:30, Jason Andryuk wrote: >>> --- a/tools/misc/xenpm.c >>> +++ b/tools/misc/xenpm.c >>> @@ -708,6 +708,44 @@ void start_gather_func(int argc, char *argv[]) >>> pause(); >>> } >>> >>> +static void calculate_hwp_activity_window(const xc_hwp_para_t *hwp, >>> + unsigned int *activity_window, >>> + const char **units) >>> +{ >>> + unsigned int mantissa = hwp->activity_window & >>> HWP_ACT_WINDOW_MANTISSA_MASK; >>> + unsigned int exponent = >>> + (hwp->activity_window >> HWP_ACT_WINDOW_EXPONENT_SHIFT) & >>> + HWP_ACT_WINDOW_EXPONENT_MASK; >> >> I wish we had MASK_EXTR() in common-macros.h. While really a comment on >> patch 7 - HWP_ACT_WINDOW_EXPONENT_SHIFT is redundant information and >> should imo be omitted from the public interface, in favor of just a >> (suitably shifted) mask value. Also note how those constants all lack >> proper XEN_ prefixes. > > I'll add a patch adding MASK_EXTR() & MASK_INSR() to common-macros.h > and use those - is there any reason not to do that? I don't think there is, but I'm also not a maintainer of that code. >>> + unsigned int multiplier = 1; >>> + unsigned int i; >>> + >>> + if ( hwp->activity_window == 0 ) >>> + { >>> + *units = "hardware selected"; >>> + *activity_window = 0; >>> + >>> + return; >>> + } >> >> While in line with documentation, any mantissa of 0 results in a 0us >> window, which I assume would then also mean "hardware selected". > > I hadn't considered that. The hardware seems to allow you to write a > 0 mantissa, non-0 exponent. From the SDM, it's unclear what that > would mean. The code as written would display "0 us", "0 ms", or "0 > s" - not "0 hardware selected". Do you want more explicity printing > for those cases? I think it's fine to have a distinction between the > output. "0 hardware selected" is the known valid value that is > working as expected. The other ones being something different seems > good to me since we don't really know what they mean. Keeping things - apart from perhaps adding a respective comment - is okay, as long as we don't know any better. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |