> Actually I have another thing to discuss: > probably we could consider to make this filter list white/black configurable > from userspace. For example, userspace option: filter-list=white/black Works for me. I'll include this in the next version. > Probably we don't need this field to be passed from userspace? > > We could directly use AMD64_RAW_EVENTMASK_NB, which includes bit[35:32]. > Since those bits are reserved on Intel CPUs, have them as mask should be > fine. > > Alternatively, we could add this event_mask field to struct kvm_pmu, and > initalize > it in the vendor specific intel_pmu_init or amd_pmu_init. > > Both options above look good to me. Sounds good. I'll go with the first suggestion for now since it's simpler. If other reviewers prefer the second I can implement that. > For the fixed counter, we could add a bitmap flag to kvm_arch, > indicating which counter is whitelist-ed based on the > "eventsel+umask" value passed from userspace. This flag is > updated when updating the whitelist-ed events to kvm. > For example, if userspace gives "00+01" (INST_RETIRED_ANY), > then we enable fixed counter0 in the flag. > > When reprogram_fixed_counter, we check the flag and return > if the related counter isn't whitelisted. Sounds good to me. If you don't have any more comments I'll send out the next version with all the requested changes. Eric