On Wed, Nov 30, 2016 at 03:27:52PM +0000, Liang, Kan wrote: > > > > > > hi, > > > I'm trying to find out some documentation background for this part of > > > uncore code: > > > > > > --- > > > static int uncore_pmu_event_init(struct perf_event *event) { > > > ... > > > if (event->attr.config == UNCORE_FIXED_EVENT) { > > > /* no fixed counter */ > > > if (!pmu->type->fixed_ctl) > > > return -EINVAL; > > > /* > > > * if there is only one fixed counter, only the first pmu > > > * can access the fixed counter > > > */ > > > if (pmu->type->single_fixed && pmu->pmu_idx > 0) > > > return -EINVAL; > > > ... > > > --- > > > > > > that for some uncore types (those with pmu->type->single_fixed) only > > > the first pmu (code_id == 0) will allow to touch the clocktick event > > > > > > other cores boxes will not allow to open clocktick event, eventhough > > > it's announced via /sys/../events/.. > > > > > > I'm probably missing some HW logic of specific boxes that would > > > explain that, but I can't find it. > > > > The client uncore has a standalone clocktick fixed counter. It doesn't > > belong > > to any boxes, which is different from server uncore. > > > > But client and server uncore share the same uncore_pmu_event_init. > > So it forces that only the first box can access the fixed counter. > > > > Maybe we should create a clocktick box for client uncore to fix it. > > > > You can find the fixed counter information from 18.11.6 in latest SDM > > (Order Number: 325384-060US). > > > > There should be a Skylake client uncore document published somewhere. > > But I cannot find it from Google. Let me ask around. > > Here is the published document. > http://www.intel.com/content/www/us/en/processors/core/6th-gen-core-family-uncore-performance-monitoring-manual.html >
will check, thanks a lot! jirka