Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a2ca3d61 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tracing fix from Steven Rostedt:
 "It was reported to me that the thread created by the hwlat tracer does
  not migrate after the first instance. I found that there was as small
  bug in the logic, and fixed it. It's minor, but should be fixed
  regardless. There's not much impact outside the hwlat tracer"

* tag 'trace-4.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  tracing: Fix hwlat kthread migration
parents 283725af 79c6f448
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -266,7 +266,7 @@ static int get_sample(void)
static struct cpumask save_cpumask;
static bool disable_migrate;

static void move_to_next_cpu(void)
static void move_to_next_cpu(bool initmask)
{
	static struct cpumask *current_mask;
	int next_cpu;
@@ -275,7 +275,7 @@ static void move_to_next_cpu(void)
		return;

	/* Just pick the first CPU on first iteration */
	if (!current_mask) {
	if (initmask) {
		current_mask = &save_cpumask;
		get_online_cpus();
		cpumask_and(current_mask, cpu_online_mask, tracing_buffer_mask);
@@ -330,10 +330,12 @@ static void move_to_next_cpu(void)
static int kthread_fn(void *data)
{
	u64 interval;
	bool initmask = true;

	while (!kthread_should_stop()) {

		move_to_next_cpu();
		move_to_next_cpu(initmask);
		initmask = false;

		local_irq_disable();
		get_sample();