[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.12] x86/vpmu: Improve documentation and parsing for vpmu=
>>> On 04.02.19 at 15:22, <andrew.cooper3@xxxxxxxxxx> wrote: > On 04/02/2019 13:53, Jan Beulich wrote: >>>>> On 04.02.19 at 12:41, <andrew.cooper3@xxxxxxxxxx> wrote: >>> @@ -64,37 +54,37 @@ static DEFINE_PER_CPU(struct vcpu *, last_vcpu); >>> static int __init parse_vpmu_params(const char *s) >>> { >>> const char *ss; >>> + int rc = 0, val; >>> + >>> + do { >>> + ss = strchr(s, ','); >>> + if ( !ss ) >>> + ss = strchr(s, '\0'); >>> + >>> + if ( (val = parse_bool(s, ss)) >= 0 ) >>> + opt_vpmu_enabled = val; >>> + else if ( !cmdline_strcmp(s, "bts") ) >>> + vpmu_features |= XENPMU_FEATURE_INTEL_BTS; >>> + else if ( !cmdline_strcmp(s, "ipc") ) >>> + vpmu_features |= XENPMU_FEATURE_IPC_ONLY; >>> + else if ( !cmdline_strcmp(s, "arch") ) >>> + vpmu_features |= XENPMU_FEATURE_ARCH_ONLY; >>> + else >>> + rc = -EINVAL; >>> >>> - switch ( parse_bool(s, NULL) ) >>> - { >>> - case 0: >>> - break; >>> - default: >>> - do { >>> - ss = strchr(s, ','); >>> - if ( !ss ) >>> - ss = strchr(s, '\0'); >>> - >>> - if ( !cmdline_strcmp(s, "bts") ) >>> - vpmu_features |= XENPMU_FEATURE_INTEL_BTS; >>> - else if ( !cmdline_strcmp(s, "ipc") ) >>> - vpmu_features |= XENPMU_FEATURE_IPC_ONLY; >>> - else if ( !cmdline_strcmp(s, "arch") ) >>> - vpmu_features |= XENPMU_FEATURE_ARCH_ONLY; >>> - else >>> - return -EINVAL; >>> + s = ss + 1; >>> + } while ( *ss ); >>> + >>> + /* Selecting bts/ipc/arch forces vpmu to enabled. */ >>> + if ( vpmu_features ) >>> + opt_vpmu_enabled = true; >> If you want to retain original behavior, the condition here would need >> to be "!rc && vpmu_features". It's not clear whether your modification >> in this regard is intentional. > > Oh - that wasn't intentional. > > An alternative, now I think about it, is to just have the <bool>=false > case clear vpmu_features. This is new behaviour, but it is more > consistent with how other options work, and it wasn't expressable before. Generally - yes. But what would e.g. "vpmu=off,ipc" end up doing in your new model? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |