All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: linux-kernel@vger.kernel.org
Cc: tglx@linutronix.de, Peter Zijlstra <peterz@infradead.org>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ingo Molnar <mingo@redhat.com>
Subject: [PATCH 36/38] tracing: Replace deprecated CPU-hotplug functions.
Date: Tue,  3 Aug 2021 16:16:19 +0200	[thread overview]
Message-ID: <20210803141621.780504-37-bigeasy@linutronix.de> (raw)
In-Reply-To: <20210803141621.780504-1-bigeasy@linutronix.de>

The functions get_online_cpus() and put_online_cpus() have been
deprecated during the CPU hotplug rework. They map directly to
cpus_read_lock() and cpus_read_unlock().

Replace deprecated CPU-hotplug functions with the official version.
The behavior remains unchanged.

Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 kernel/trace/ring_buffer.c   |  8 ++++----
 kernel/trace/trace_hwlat.c   | 28 ++++++++++++++--------------
 kernel/trace/trace_osnoise.c | 16 ++++++++--------
 3 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index e592d1df6f888..c5a3fbf19617e 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -2111,7 +2111,7 @@ int ring_buffer_resize(struct trace_buffer *buffer, unsigned long size,
 			}
 		}
 
-		get_online_cpus();
+		cpus_read_lock();
 		/*
 		 * Fire off all the required work handlers
 		 * We can't schedule on offline CPUs, but it's not necessary
@@ -2143,7 +2143,7 @@ int ring_buffer_resize(struct trace_buffer *buffer, unsigned long size,
 			cpu_buffer->nr_pages_to_update = 0;
 		}
 
-		put_online_cpus();
+		cpus_read_unlock();
 	} else {
 		cpu_buffer = buffer->buffers[cpu_id];
 
@@ -2171,7 +2171,7 @@ int ring_buffer_resize(struct trace_buffer *buffer, unsigned long size,
 			goto out_err;
 		}
 
-		get_online_cpus();
+		cpus_read_lock();
 
 		/* Can't run something on an offline CPU. */
 		if (!cpu_online(cpu_id))
@@ -2183,7 +2183,7 @@ int ring_buffer_resize(struct trace_buffer *buffer, unsigned long size,
 		}
 
 		cpu_buffer->nr_pages_to_update = 0;
-		put_online_cpus();
+		cpus_read_unlock();
 	}
 
  out:
diff --git a/kernel/trace/trace_hwlat.c b/kernel/trace/trace_hwlat.c
index a6c0cdaf4b878..172948ead25c0 100644
--- a/kernel/trace/trace_hwlat.c
+++ b/kernel/trace/trace_hwlat.c
@@ -325,10 +325,10 @@ static void move_to_next_cpu(void)
 	if (!cpumask_equal(current_mask, current->cpus_ptr))
 		goto change_mode;
 
-	get_online_cpus();
+	cpus_read_lock();
 	cpumask_and(current_mask, cpu_online_mask, tr->tracing_cpumask);
 	next_cpu = cpumask_next(smp_processor_id(), current_mask);
-	put_online_cpus();
+	cpus_read_unlock();
 
 	if (next_cpu >= nr_cpu_ids)
 		next_cpu = cpumask_first(current_mask);
@@ -398,7 +398,7 @@ static void stop_single_kthread(void)
 	struct hwlat_kthread_data *kdata = get_cpu_data();
 	struct task_struct *kthread;
 
-	get_online_cpus();
+	cpus_read_lock();
 	kthread = kdata->kthread;
 
 	if (!kthread)
@@ -408,7 +408,7 @@ static void stop_single_kthread(void)
 	kdata->kthread = NULL;
 
 out_put_cpus:
-	put_online_cpus();
+	cpus_read_unlock();
 }
 
 
@@ -425,14 +425,14 @@ static int start_single_kthread(struct trace_array *tr)
 	struct task_struct *kthread;
 	int next_cpu;
 
-	get_online_cpus();
+	cpus_read_lock();
 	if (kdata->kthread)
 		goto out_put_cpus;
 
 	kthread = kthread_create(kthread_fn, NULL, "hwlatd");
 	if (IS_ERR(kthread)) {
 		pr_err(BANNER "could not start sampling thread\n");
-		put_online_cpus();
+		cpus_read_unlock();
 		return -ENOMEM;
 	}
 
@@ -452,7 +452,7 @@ static int start_single_kthread(struct trace_array *tr)
 	wake_up_process(kthread);
 
 out_put_cpus:
-	put_online_cpus();
+	cpus_read_unlock();
 	return 0;
 }
 
@@ -479,10 +479,10 @@ static void stop_per_cpu_kthreads(void)
 {
 	unsigned int cpu;
 
-	get_online_cpus();
+	cpus_read_lock();
 	for_each_online_cpu(cpu)
 		stop_cpu_kthread(cpu);
-	put_online_cpus();
+	cpus_read_unlock();
 }
 
 /*
@@ -515,7 +515,7 @@ static void hwlat_hotplug_workfn(struct work_struct *dummy)
 
 	mutex_lock(&trace_types_lock);
 	mutex_lock(&hwlat_data.lock);
-	get_online_cpus();
+	cpus_read_lock();
 
 	if (!hwlat_busy || hwlat_data.thread_mode != MODE_PER_CPU)
 		goto out_unlock;
@@ -526,7 +526,7 @@ static void hwlat_hotplug_workfn(struct work_struct *dummy)
 	start_cpu_kthread(cpu);
 
 out_unlock:
-	put_online_cpus();
+	cpus_read_unlock();
 	mutex_unlock(&hwlat_data.lock);
 	mutex_unlock(&trace_types_lock);
 }
@@ -582,7 +582,7 @@ static int start_per_cpu_kthreads(struct trace_array *tr)
 	unsigned int cpu;
 	int retval;
 
-	get_online_cpus();
+	cpus_read_lock();
 	/*
 	 * Run only on CPUs in which hwlat is allowed to run.
 	 */
@@ -596,12 +596,12 @@ static int start_per_cpu_kthreads(struct trace_array *tr)
 		if (retval)
 			goto out_error;
 	}
-	put_online_cpus();
+	cpus_read_unlock();
 
 	return 0;
 
 out_error:
-	put_online_cpus();
+	cpus_read_unlock();
 	stop_per_cpu_kthreads();
 	return retval;
 }
diff --git a/kernel/trace/trace_osnoise.c b/kernel/trace/trace_osnoise.c
index a7e3c24dee13f..ec0015f8a64ce 100644
--- a/kernel/trace/trace_osnoise.c
+++ b/kernel/trace/trace_osnoise.c
@@ -1444,12 +1444,12 @@ static void stop_per_cpu_kthreads(void)
 {
 	int cpu;
 
-	get_online_cpus();
+	cpus_read_lock();
 
 	for_each_online_cpu(cpu)
 		stop_kthread(cpu);
 
-	put_online_cpus();
+	cpus_read_unlock();
 }
 
 /*
@@ -1497,7 +1497,7 @@ static int start_per_cpu_kthreads(struct trace_array *tr)
 	int retval;
 	int cpu;
 
-	get_online_cpus();
+	cpus_read_lock();
 	/*
 	 * Run only on CPUs in which trace and osnoise are allowed to run.
 	 */
@@ -1518,7 +1518,7 @@ static int start_per_cpu_kthreads(struct trace_array *tr)
 		}
 	}
 
-	put_online_cpus();
+	cpus_read_unlock();
 
 	return 0;
 }
@@ -1536,7 +1536,7 @@ static void osnoise_hotplug_workfn(struct work_struct *dummy)
 		goto out_unlock_trace;
 
 	mutex_lock(&interface_lock);
-	get_online_cpus();
+	cpus_read_lock();
 
 	if (!cpumask_test_cpu(cpu, &osnoise_cpumask))
 		goto out_unlock;
@@ -1547,7 +1547,7 @@ static void osnoise_hotplug_workfn(struct work_struct *dummy)
 	start_kthread(cpu);
 
 out_unlock:
-	put_online_cpus();
+	cpus_read_unlock();
 	mutex_unlock(&interface_lock);
 out_unlock_trace:
 	mutex_unlock(&trace_types_lock);
@@ -1689,11 +1689,11 @@ osnoise_cpus_write(struct file *filp, const char __user *ubuf, size_t count,
 	/*
 	 * osnoise_cpumask is read by CPU hotplug operations.
 	 */
-	get_online_cpus();
+	cpus_read_lock();
 
 	cpumask_copy(&osnoise_cpumask, osnoise_cpumask_new);
 
-	put_online_cpus();
+	cpus_read_unlock();
 	mutex_unlock(&interface_lock);
 
 	if (running)
-- 
2.32.0


  parent reply	other threads:[~2021-08-03 14:18 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-03 14:15 [PATCH 00/38] Replace deprecated CPU-hotplug Sebastian Andrzej Siewior
2021-08-03 14:15 ` Sebastian Andrzej Siewior
2021-08-03 14:15 ` Sebastian Andrzej Siewior
2021-08-03 14:15 ` Sebastian Andrzej Siewior
2021-08-03 14:15 ` [Nouveau] " Sebastian Andrzej Siewior
2021-08-03 14:15 ` Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 01/38] Documentation: Replace deprecated CPU-hotplug functions Sebastian Andrzej Siewior
2021-08-27 23:53   ` [tip: smp/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 02/38] MIPS: " Sebastian Andrzej Siewior
2021-08-05  9:02   ` Thomas Bogendoerfer
2021-08-03 14:15 ` [PATCH 03/38] powerpc: " Sebastian Andrzej Siewior
2021-08-03 14:15   ` Sebastian Andrzej Siewior
2021-08-03 14:15   ` Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 04/38] s390: " Sebastian Andrzej Siewior
2021-08-03 15:40   ` Heiko Carstens
2021-08-03 14:15 ` [PATCH 05/38] s390/sclp: " Sebastian Andrzej Siewior
2021-08-03 15:40   ` Heiko Carstens
2021-08-03 14:15 ` [PATCH 06/38] x86/mmiotrace: " Sebastian Andrzej Siewior
2021-08-03 14:15   ` [Nouveau] " Sebastian Andrzej Siewior
2021-08-03 15:03   ` Karol Herbst
2021-08-03 15:03     ` Karol Herbst
2021-08-04  1:07   ` Steven Rostedt
2021-08-04  1:07     ` [Nouveau] " Steven Rostedt
2021-08-10 12:52   ` [tip: x86/cleanups] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 07/38] x86/mtrr: " Sebastian Andrzej Siewior
2021-08-10 12:52   ` [tip: x86/cleanups] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 08/38] x86/microcode: " Sebastian Andrzej Siewior
2021-08-10 12:52   ` [tip: x86/cleanups] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 09/38] x86/mce/inject: " Sebastian Andrzej Siewior
2021-08-10 12:52   ` [tip: x86/cleanups] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 10/38] perf/x86/intel: " Sebastian Andrzej Siewior
2021-08-10 13:04   ` [tip: perf/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-26  8:09   ` tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 11/38] perf/hw_breakpoint: " Sebastian Andrzej Siewior
2021-08-10 13:04   ` [tip: perf/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-26  8:09   ` tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 12/38] crypto: virtio: " Sebastian Andrzej Siewior
2021-08-03 14:15   ` Sebastian Andrzej Siewior
2021-08-12 11:36   ` Herbert Xu
2021-08-12 11:36     ` Herbert Xu
2021-08-03 14:15 ` [PATCH 13/38] hwmon: " Sebastian Andrzej Siewior
2021-08-03 15:29   ` Guenter Roeck
2021-08-03 14:15 ` [PATCH 14/38] coresight: " Sebastian Andrzej Siewior
2021-08-03 14:15   ` Sebastian Andrzej Siewior
2021-08-03 15:52   ` Mathieu Poirier
2021-08-03 15:52     ` Mathieu Poirier
2021-08-03 14:15 ` [PATCH 15/38] md/raid5: " Sebastian Andrzej Siewior
2021-08-05 16:20   ` Song Liu
2021-08-27 23:53   ` [tip: smp/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:15 ` [PATCH 16/38] sgi-xpc: " Sebastian Andrzej Siewior
2021-08-03 15:54   ` Steve Wahl
2021-08-03 21:30   ` Robin Holt
2021-08-03 14:16 ` [PATCH 17/38] platform/x86: " Sebastian Andrzej Siewior
2021-08-06 13:36   ` Hans de Goede
2021-08-03 14:16 ` [PATCH 18/38] powercap: intel_rapl: " Sebastian Andrzej Siewior
2021-08-04 18:14   ` Rafael J. Wysocki
2021-08-03 14:16 ` [PATCH 19/38] thermal: " Sebastian Andrzej Siewior
2021-08-14 10:52   ` Daniel Lezcano
2021-09-09 14:38   ` [thermal: thermal/next] thermal/drivers/intel_powerclamp: " thermal-bot for Sebastian Andrzej Siewior
2021-09-10 22:45   ` [tip: smp/urgent] thermal: " tip-bot2 for Sebastian Andrzej Siewior
2021-09-11 20:48     ` Daniel Lezcano
2021-09-11 21:11       ` Borislav Petkov
2021-08-03 14:16 ` [PATCH 20/38] mm: " Sebastian Andrzej Siewior
2021-08-27 23:53   ` [tip: smp/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:16 ` [PATCH 21/38] virtio_net: " Sebastian Andrzej Siewior
2021-08-03 14:16   ` Sebastian Andrzej Siewior
2021-08-04 22:41   ` Jakub Kicinski
2021-08-03 14:16 ` [PATCH 22/38] net/af_iucv: " Sebastian Andrzej Siewior
2021-08-04  6:36   ` Julian Wiedmann
2021-08-03 14:16 ` [PATCH 23/38] net: " Sebastian Andrzej Siewior
2021-08-03 14:16 ` [PATCH 24/38] cgroup: " Sebastian Andrzej Siewior
2021-08-03 14:16   ` Sebastian Andrzej Siewior
2021-08-09 22:37   ` Tejun Heo
2021-08-09 22:37     ` Tejun Heo
2021-08-03 14:16 ` [PATCH 25/38] genirq/affinity: " Sebastian Andrzej Siewior
2021-08-10 12:58   ` [tip: irq/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:16 ` [PATCH 26/38] livepatch: " Sebastian Andrzej Siewior
2021-08-04  7:52   ` Petr Mladek
2021-08-19 10:01     ` Jiri Kosina
2021-08-03 14:16 ` [PATCH 27/38] padata: " Sebastian Andrzej Siewior
2021-08-04 14:52   ` Daniel Jordan
2021-08-12 11:36   ` Herbert Xu
2021-08-03 14:16 ` [PATCH 28/38] cpufreq: " Sebastian Andrzej Siewior
2021-08-04 18:19   ` Rafael J. Wysocki
2021-08-03 14:16 ` [PATCH 29/38] ACPI: processor: " Sebastian Andrzej Siewior
2021-08-04 18:27   ` Rafael J. Wysocki
2021-08-03 14:16 ` [PATCH 30/38] ACPI: PM: s2idle: " Sebastian Andrzej Siewior
2021-08-04 18:20   ` Rafael J. Wysocki
2021-08-03 14:16 ` [PATCH 31/38] rcu: " Sebastian Andrzej Siewior
2021-08-03 16:00   ` Paul E. McKenney
2021-08-10 12:42     ` Thomas Gleixner
2021-08-10 18:20       ` Paul E. McKenney
2021-08-03 14:16 ` [PATCH 32/38] sched: " Sebastian Andrzej Siewior
2021-08-10 12:58   ` [tip: sched/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:16 ` [PATCH 33/38] smpboot: " Sebastian Andrzej Siewior
2021-08-10 13:04   ` [tip: smp/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:16 ` [PATCH 34/38] clocksource: " Sebastian Andrzej Siewior
2021-08-10 12:58   ` [tip: timers/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 14:16 ` [PATCH 35/38] torture: " Sebastian Andrzej Siewior
2021-08-03 14:16 ` Sebastian Andrzej Siewior [this message]
2021-08-03 15:16   ` [PATCH 36/38] tracing: " Daniel Bristot de Oliveira
2021-08-04  2:26   ` Steven Rostedt
2021-08-10 13:34     ` Sebastian Andrzej Siewior
2021-08-10 19:12       ` Steven Rostedt
2021-08-03 14:16 ` [PATCH 37/38] workqueue: " Sebastian Andrzej Siewior
2021-08-04  1:36   ` Lai Jiangshan
2021-08-09 22:33   ` Tejun Heo
2021-08-03 14:16 ` [PATCH 38/38] cpu/hotplug: Remove " Sebastian Andrzej Siewior
2021-09-10 22:45   ` [tip: smp/urgent] " tip-bot2 for Sebastian Andrzej Siewior
2021-08-03 15:30 ` [PATCH 00/38] Replace deprecated CPU-hotplug Hans de Goede
2021-08-03 15:30   ` Hans de Goede
2021-08-03 15:30   ` Hans de Goede
2021-08-03 15:30   ` Hans de Goede
2021-08-03 15:30   ` [Nouveau] " Hans de Goede
2021-08-03 15:30   ` Hans de Goede
2021-08-03 16:10   ` Sebastian Andrzej Siewior
2021-08-03 16:10     ` Sebastian Andrzej Siewior
2021-08-03 16:10     ` Sebastian Andrzej Siewior
2021-08-03 16:10     ` Sebastian Andrzej Siewior
2021-08-03 16:10     ` [Nouveau] " Sebastian Andrzej Siewior
2021-08-03 16:10     ` Sebastian Andrzej Siewior
2021-08-18 13:38 ` (subset) " Michael Ellerman

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=20210803141621.780504-37-bigeasy@linutronix.de \
    --to=bigeasy@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.