Both intel_commit_scheduling() and intel_get_excl_contraints() test
for cntr < 0.
The only way that can happen (aside from a bug) is through
validate_event(), however that is already captured by the
cpuc->is_fake test.
So remove these test and simplify the code.
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
---
arch/x86/kernel/cpu/perf_event_intel.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
--- a/arch/x86/kernel/cpu/perf_event_intel.c
+++ b/arch/x86/kernel/cpu/perf_event_intel.c
@@ -1955,12 +1955,10 @@ static void intel_commit_scheduling(stru
lockdep_assert_held(&excl_cntrs->lock);
- if (cntr >= 0) {
- if (c->flags & PERF_X86_EVENT_EXCL)
- xl->init_state[cntr] = INTEL_EXCL_EXCLUSIVE;
- else
- xl->init_state[cntr] = INTEL_EXCL_SHARED;
- }
+ if (c->flags & PERF_X86_EVENT_EXCL)
+ xl->init_state[cntr] = INTEL_EXCL_EXCLUSIVE;
+ else
+ xl->init_state[cntr] = INTEL_EXCL_SHARED;
}
static void
@@ -2028,10 +2026,6 @@ intel_get_excl_constraints(struct cpu_hw
if (!(c->flags & PERF_X86_EVENT_DYNAMIC)) {
struct event_constraint *cx;
- /* sanity check */
- if (idx < 0)
- return &emptyconstraint;
-
/*
* grab pre-allocated constraint entry
*/
On Thu, May 21, 2015 at 4:17 AM, Peter Zijlstra <[email protected]> wrote:
> Both intel_commit_scheduling() and intel_get_excl_contraints() test
> for cntr < 0.
>
> The only way that can happen (aside from a bug) is through
> validate_event(), however that is already captured by the
> cpuc->is_fake test.
>
You are saying that we can never get called with assign[i] = -1.
I believe this is correct. The test was leftover from debugging.
> So remove these test and simplify the code.
>
> Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
> ---
> arch/x86/kernel/cpu/perf_event_intel.c | 14 ++++----------
> 1 file changed, 4 insertions(+), 10 deletions(-)
>
> --- a/arch/x86/kernel/cpu/perf_event_intel.c
> +++ b/arch/x86/kernel/cpu/perf_event_intel.c
> @@ -1955,12 +1955,10 @@ static void intel_commit_scheduling(stru
>
> lockdep_assert_held(&excl_cntrs->lock);
>
> - if (cntr >= 0) {
> - if (c->flags & PERF_X86_EVENT_EXCL)
> - xl->init_state[cntr] = INTEL_EXCL_EXCLUSIVE;
> - else
> - xl->init_state[cntr] = INTEL_EXCL_SHARED;
> - }
> + if (c->flags & PERF_X86_EVENT_EXCL)
> + xl->init_state[cntr] = INTEL_EXCL_EXCLUSIVE;
> + else
> + xl->init_state[cntr] = INTEL_EXCL_SHARED;
> }
>
> static void
> @@ -2028,10 +2026,6 @@ intel_get_excl_constraints(struct cpu_hw
> if (!(c->flags & PERF_X86_EVENT_DYNAMIC)) {
> struct event_constraint *cx;
>
> - /* sanity check */
> - if (idx < 0)
> - return &emptyconstraint;
> -
> /*
> * grab pre-allocated constraint entry
> */
>
>