From: Peter Zijlstra <peterz@infradead.org>
To: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: rjw@rjwysocki.net, tglx@linutronix.de, mingo@redhat.com,
bp@suse.de, x86@kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
tim.c.chen@linux.intel.com
Subject: Re: [PATCH v2 5/8] sched,x86: Enable Turbo Boost Max Technology
Date: Thu, 8 Sep 2016 09:59:55 +0200 [thread overview]
Message-ID: <20160908075955.GS10153@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <1472762024-88771-6-git-send-email-srinivas.pandruvada@linux.intel.com>
On Thu, Sep 01, 2016 at 01:33:41PM -0700, Srinivas Pandruvada wrote:
> +static void enable_sched_itmt(bool enable_itmt)
> +{
> + mutex_lock(&itmt_update_mutex);
> +
> + sysctl_sched_itmt_enabled = enable_itmt;
> + x86_topology_update = true;
> + rebuild_sched_domains();
> +
> + mutex_unlock(&itmt_update_mutex);
> +}
> +
> +static int sched_itmt_update_handler(struct ctl_table *table, int write,
> + void __user *buffer, size_t *lenp, loff_t *ppos)
> +{
> + int ret;
> +
> + ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
> +
> + if (ret || !write)
> + return ret;
> +
> + enable_sched_itmt(sysctl_sched_itmt_enabled);
> +
> + return ret;
> +}
I think there's a race here, if two tasks were to write to the sysctl
they'd both change the value before getting stuck on the mutex in
enable_sched_itmt().
One way around that is doing something like:
struct ctl_table t;
int val = sysctl_sched_itmt_enabled;
t = *table;
t.data = &val;
proc_dointvec_minmax(&t, ...);
/* and update the sysctl_sched_itmt_enabled value inside the mutex */
enable_sched_itmi(val);
next prev parent reply other threads:[~2016-09-08 8:00 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-01 20:33 [PATCH v2 0/8] Support Intel® Turbo Boost Max Technology 3.0 Srinivas Pandruvada
2016-09-01 20:33 ` [PATCH v2 1/8] sched, x86: Add SD_ASYM_PACKING flags to x86 cpu topology for ITMT Srinivas Pandruvada
2016-09-01 20:33 ` [PATCH v2 2/8] sched: Extend scheduler's asym packing Srinivas Pandruvada
2016-09-08 8:01 ` Peter Zijlstra
2016-09-08 18:03 ` Tim Chen
2016-09-08 18:21 ` Peter Zijlstra
2016-09-01 20:33 ` [PATCH v2 3/8] x86, cpu: provide a function topology_num_packages to enumerate #packages Srinivas Pandruvada
2016-09-01 20:33 ` [PATCH v2 4/8] sched, x86: use arch_update_cpu_topology to indicate x86 need sched domain rebuild Srinivas Pandruvada
2016-09-01 20:33 ` [PATCH v2 5/8] sched,x86: Enable Turbo Boost Max Technology Srinivas Pandruvada
2016-09-08 7:59 ` Peter Zijlstra [this message]
2016-09-08 18:09 ` Tim Chen
2016-09-08 18:22 ` Peter Zijlstra
2016-09-08 18:28 ` Srinivas Pandruvada
2016-09-08 18:33 ` Peter Zijlstra
2016-09-08 18:41 ` Srinivas Pandruvada
2016-09-08 21:22 ` Rafael J. Wysocki
2016-09-01 20:33 ` [PATCH v2 6/8] acpi: bus: Enable HWP CPPC objects Srinivas Pandruvada
2016-09-01 23:15 ` kbuild test robot
2016-09-01 23:46 ` Srinivas Pandruvada
2016-09-01 20:33 ` [PATCH v2 7/8] acpi: bus: Set _OSC for diverse core support Srinivas Pandruvada
2016-09-01 20:33 ` [PATCH v2 8/8] cpufreq: intel_pstate: Use CPPC to get max performance Srinivas Pandruvada
2016-09-01 22:31 ` kbuild test robot
2016-09-08 8:02 ` [PATCH v2 0/8] Support Intel® Turbo Boost Max Technology 3.0 Peter Zijlstra
2016-09-15 12:14 ` Pavel Machek
2016-09-15 12:46 ` One Thousand Gnomes
2016-09-16 16:03 ` Tim Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160908075955.GS10153@twins.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=bp@suse.de \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=rjw@rjwysocki.net \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=tglx@linutronix.de \
--cc=tim.c.chen@linux.intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox