Messages in this thread | | | Date | Thu, 28 Jun 2012 09:30:17 +0800 | From | "Yan, Zheng" <> | Subject | Re: [PATCH 2/2] perf/x86: Uncore Filter support for SandyBridge-EP |
| |
On 06/27/2012 06:06 PM, Peter Zijlstra wrote: > On Wed, 2012-06-27 at 15:09 +0800, Yan, Zheng wrote: >> > @@ -1048,10 +1190,9 @@ static int uncore_validate_group(struct intel_uncore_pmu *pmu, >> > { >> > struct perf_event *leader = event->group_leader; >> > struct intel_uncore_box *fake_box; >> > - int assign[UNCORE_PMC_IDX_MAX]; >> > int ret = -EINVAL, n; >> > >> > - fake_box = uncore_alloc_box(smp_processor_id()); >> > + fake_box = uncore_alloc_box(pmu->type, smp_processor_id()); >> > if (!fake_box) >> > return -ENOMEM; >> > >> > @@ -1073,7 +1214,7 @@ static int uncore_validate_group(struct intel_uncore_pmu *pmu, >> > >> > fake_box->n_events = n; >> > >> > - ret = uncore_assign_events(fake_box, assign, n); >> > + ret = uncore_assign_events(fake_box, NULL, n); >> > out: >> > kfree(fake_box); >> > return ret; > Isn't the uncore now suffering the same problem you found for the > regular extra stuff?
The snbep_uncore_get/put_constraint(...) has check for that. The uncore case is simpler, because we don't need try swapping RSP_0/RSP_1.
Regards Yan, Zheng
| |