Archive-only list for patches
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev,
	"Steven Rostedt (VMware)" <rostedt@goodmis.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.19 82/96] ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance()
Date: Tue, 10 Sep 2024 11:32:24 +0200	[thread overview]
Message-ID: <20240910092545.139696253@linuxfoundation.org> (raw)
In-Reply-To: <20240910092541.383432924@linuxfoundation.org>

4.19-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Steven Rostedt (VMware) <rostedt@goodmis.org>

[ Upstream commit bc1a72afdc4a91844928831cac85731566e03bc6 ]

When the ring buffer was first created, the iterator followed the normal
producer/consumer operations where it had both a peek() operation, that just
returned the event at the current location, and a read(), that would return
the event at the current location and also increment the iterator such that
the next peek() or read() will return the next event.

The only use of the ring_buffer_read() is currently to move the iterator to
the next location and nothing now actually reads the event it returns.
Rename this function to its actual use case to ring_buffer_iter_advance(),
which also adds the "iter" part to the name, which is more meaningful. As
the timestamp returned by ring_buffer_read() was never used, there's no
reason that this new version should bother having returning it. It will also
become a void function.

Link: http://lkml.kernel.org/r/20200317213416.018928618@goodmis.org

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Stable-dep-of: 49aa8a1f4d68 ("tracing: Avoid possible softlockup in tracing_iter_reset()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/linux/ring_buffer.h          |  3 +--
 kernel/trace/ring_buffer.c           | 23 ++++++-----------------
 kernel/trace/trace.c                 |  4 ++--
 kernel/trace/trace_functions_graph.c |  2 +-
 4 files changed, 10 insertions(+), 22 deletions(-)

diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h
index 941bfd9b3c89..7c5b217347b3 100644
--- a/include/linux/ring_buffer.h
+++ b/include/linux/ring_buffer.h
@@ -135,8 +135,7 @@ void ring_buffer_read_finish(struct ring_buffer_iter *iter);
 
 struct ring_buffer_event *
 ring_buffer_iter_peek(struct ring_buffer_iter *iter, u64 *ts);
-struct ring_buffer_event *
-ring_buffer_read(struct ring_buffer_iter *iter, u64 *ts);
+void ring_buffer_iter_advance(struct ring_buffer_iter *iter);
 void ring_buffer_iter_reset(struct ring_buffer_iter *iter);
 int ring_buffer_iter_empty(struct ring_buffer_iter *iter);
 
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index aee6eab9bb8f..6cd50fb1b8fd 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -4379,35 +4379,24 @@ ring_buffer_read_finish(struct ring_buffer_iter *iter)
 EXPORT_SYMBOL_GPL(ring_buffer_read_finish);
 
 /**
- * ring_buffer_read - read the next item in the ring buffer by the iterator
+ * ring_buffer_iter_advance - advance the iterator to the next location
  * @iter: The ring buffer iterator
- * @ts: The time stamp of the event read.
  *
- * This reads the next event in the ring buffer and increments the iterator.
+ * Move the location of the iterator such that the next read will
+ * be the next location of the iterator.
  */
-struct ring_buffer_event *
-ring_buffer_read(struct ring_buffer_iter *iter, u64 *ts)
+void ring_buffer_iter_advance(struct ring_buffer_iter *iter)
 {
-	struct ring_buffer_event *event;
 	struct ring_buffer_per_cpu *cpu_buffer = iter->cpu_buffer;
 	unsigned long flags;
 
 	raw_spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
- again:
-	event = rb_iter_peek(iter, ts);
-	if (!event)
-		goto out;
-
-	if (event->type_len == RINGBUF_TYPE_PADDING)
-		goto again;
 
 	rb_advance_iter(iter);
- out:
-	raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
 
-	return event;
+	raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
 }
-EXPORT_SYMBOL_GPL(ring_buffer_read);
+EXPORT_SYMBOL_GPL(ring_buffer_iter_advance);
 
 /**
  * ring_buffer_size - return the size of the ring buffer (in bytes)
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 8292c7441e23..022f50dbc456 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -3090,7 +3090,7 @@ static void trace_iterator_increment(struct trace_iterator *iter)
 
 	iter->idx++;
 	if (buf_iter)
-		ring_buffer_read(buf_iter, NULL);
+		ring_buffer_iter_advance(buf_iter);
 }
 
 static struct trace_entry *
@@ -3250,7 +3250,7 @@ void tracing_iter_reset(struct trace_iterator *iter, int cpu)
 		if (ts >= iter->trace_buffer->time_start)
 			break;
 		entries++;
-		ring_buffer_read(buf_iter, NULL);
+		ring_buffer_iter_advance(buf_iter);
 	}
 
 	per_cpu_ptr(iter->trace_buffer->data, cpu)->skipped_entries = entries;
diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c
index 086af4f5c3e8..7add1f3ee2dd 100644
--- a/kernel/trace/trace_functions_graph.c
+++ b/kernel/trace/trace_functions_graph.c
@@ -726,7 +726,7 @@ get_return_for_leaf(struct trace_iterator *iter,
 
 	/* this is a leaf, now advance the iterator */
 	if (ring_iter)
-		ring_buffer_read(ring_iter, NULL);
+		ring_buffer_iter_advance(ring_iter);
 
 	return next;
 }
-- 
2.43.0




  parent reply	other threads:[~2024-09-10  9:39 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-10  9:31 [PATCH 4.19 00/96] 4.19.322-rc1 review Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 01/96] net: usb: qmi_wwan: add MeiG Smart SRM825L Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 02/96] usb: dwc3: st: Add of_node_put() before return in probe function Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 03/96] usb: dwc3: st: add missing depopulate in probe error path Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 04/96] drm/amdgpu: Fix uninitialized variable warning in amdgpu_afmt_acr Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 05/96] drm/amdgpu: fix overflowed array index read warning Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 06/96] drm/amdgpu: fix ucode out-of-bounds " Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 07/96] drm/amdgpu: fix mc_data " Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 08/96] drm/amdkfd: Reconcile the definition and use of oem_id in struct kfd_topology_device Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 09/96] apparmor: fix possible NULL pointer dereference Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 10/96] usbip: Dont submit special requests twice Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 11/96] smack: tcp: ipv4, fix incorrect labeling Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 12/96] media: uvcvideo: Enforce alignment of frame and interval Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 13/96] block: initialize integrity buffer to zero before writing it to media Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 14/96] virtio_net: Fix napi_skb_cache_put warning Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 15/96] udf: Limit file size to 4TB Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 16/96] ALSA: usb-audio: Sanity checks for each pipe and EP types Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 17/96] ALSA: usb-audio: Fix gpf in snd_usb_pipe_sanity_check Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 18/96] sch/netem: fix use after free in netem_dequeue Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 19/96] ALSA: hda/conexant: Add pincfg quirk to enable top speakers on Sirius devices Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 20/96] ata: libata: Fix memory leak for error path in ata_host_alloc() Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 21/96] mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 22/96] fuse: use unsigned type for getxattr/listxattr size truncation Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 23/96] clk: qcom: clk-alpha-pll: Fix the pll post div mask Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 24/96] nilfs2: fix missing cleanup on rollforward recovery error Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 25/96] nilfs2: fix state management in error path of log writing function Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 26/96] ALSA: hda: Add input value sanity checks to HDMI channel map controls Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 27/96] smack: unix sockets: fix accept()ed socket label Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 28/96] irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1 Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 29/96] af_unix: Remove put_pid()/put_cred() in copy_peercred() Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 30/96] netfilter: nf_conncount: fix wrong variable type Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 31/96] udf: Avoid excessive partition lengths Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 32/96] wifi: brcmsmac: advertise MFP_CAPABLE to enable WPA3 Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 33/96] media: qcom: camss: Add check for v4l2_fwnode_endpoint_parse Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 34/96] pcmcia: Use resource_size function on resource object Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 35/96] can: bcm: Remove proc entry when dev is unregistered Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 36/96] igb: Fix not clearing TimeSync interrupts for 82580 Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 37/96] platform/x86: dell-smbios: Fix error path in dell_smbios_init() Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 38/96] cx82310_eth: re-enable ethernet mode after router reboot Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 39/96] drivers/net/usb: Remove all strcpy() uses Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 40/96] net: usb: dont write directly to netdev->dev_addr Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 41/96] usbnet: modern method to get random MAC Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 42/96] rfkill: fix spelling mistake contidion to condition Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 43/96] net: bridge: add support for sticky fdb entries Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 44/96] bridge: switchdev: Allow clearing FDB entry offload indication Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 45/96] net: bridge: fdb: convert is_local to bitops Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 46/96] net: bridge: fdb: convert is_static " Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 47/96] net: bridge: fdb: convert is_sticky " Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 48/96] net: bridge: fdb: convert added_by_user " Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 49/96] net: bridge: fdb: convert added_by_external_learn to use bitops Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 50/96] net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 51/96] net: dsa: vsc73xx: fix possible subblocks range of CAPT block Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 52/96] iommu/vt-d: Handle volatile descriptor status read Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 53/96] cgroup: Protect css->cgroup write under css_set_lock Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 54/96] um: line: always fill *error_out in setup_one_line() Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 55/96] devres: Initialize an uninitialized struct member Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 56/96] pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv Greg Kroah-Hartman
2024-09-10  9:31 ` [PATCH 4.19 57/96] hwmon: (adc128d818) Fix underflows seen when writing limit attributes Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 58/96] hwmon: (lm95234) " Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 59/96] hwmon: (nct6775-core) " Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 60/96] hwmon: (w83627ehf) " Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 61/96] wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 62/96] smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 63/96] btrfs: replace BUG_ON with ASSERT in walk_down_proc() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 64/96] btrfs: clean up our handling of refs == 0 in snapshot delete Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 65/96] PCI: Add missing bridge lock to pci_bus_lock() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 66/96] btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 67/96] HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 68/96] Input: uinput - reject requests with unreasonable number of slots Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 69/96] usbnet: ipheth: race between ipheth_close and error handling Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 70/96] Squashfs: sanity check symbolic link size Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 71/96] of/irq: Prevent device address out-of-bounds read in interrupt map walk Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 72/96] ata: pata_macio: Use WARN instead of BUG Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 73/96] iio: buffer-dmaengine: fix releasing dma channel on error Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 74/96] iio: fix scale application in iio_convert_raw_to_processed_unlocked Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 75/96] nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 76/96] uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 77/96] Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 78/96] VMCI: Fix use-after-free when removing resource in vmci_resource_remove() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 79/96] clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 80/96] clocksource/drivers/imx-tpm: Fix next event not taking effect sometime Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 81/96] uprobes: Use kzalloc to allocate xol area Greg Kroah-Hartman
2024-09-10  9:32 ` Greg Kroah-Hartman [this message]
2024-09-10  9:32 ` [PATCH 4.19 83/96] tracing: Avoid possible softlockup in tracing_iter_reset() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 84/96] nilfs2: replace snprintf in show functions with sysfs_emit Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 85/96] nilfs2: protect references to superblock parameters exposed in sysfs Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 86/96] netns: add pre_exit method to struct pernet_operations Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 87/96] ila: call nf_unregister_net_hooks() sooner Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 88/96] ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 89/96] ACPI: processor: Fix memory leaks in error paths of processor_add() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 90/96] drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 91/96] drm/i915/fence: Mark debug_fence_free() " Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 92/96] rtmutex: Drop rt_mutex::wait_lock before scheduling Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 93/96] net, sunrpc: Remap EPERM in case of connection failure in xs_tcp_setup_socket Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 94/96] cx82310_eth: fix error return code in cx82310_bind() Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 95/96] net: bridge: explicitly zero is_sticky in fdb_create Greg Kroah-Hartman
2024-09-10  9:32 ` [PATCH 4.19 96/96] netns: restore ops before calling ops_exit_list Greg Kroah-Hartman
2024-09-10 23:03 ` [PATCH 4.19 00/96] 4.19.322-rc1 review Shuah Khan

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=20240910092545.139696253@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=patches@lists.linux.dev \
    --cc=rostedt@goodmis.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.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