Thread (26 messages) 26 messages, 7 authors, 2016-09-16

Re: [PATCH v2 5/8] sched,x86: Enable Turbo Boost Max Technology

From: Peter Zijlstra <peterz@infradead.org>
Date: 2016-09-08 18:22:24
Also in: linux-acpi, lkml

On Thu, Sep 08, 2016 at 11:09:28AM -0700, Tim Chen wrote:
On Thu, Sep 08, 2016 at 09:59:55AM +0200, Peter Zijlstra wrote:
quoted
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);
Peter,

Since enable_sched_itmt is only used by sched_itmt_update_handler,
I've moved the mutex locking to sched_itmt_update_handler to eliminate
the race condition in the code path you mentioned.
That is indeed simpler. Thanks!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help