Re: [PATCH v2 1/2] printk_ringbuffer: don't needlessly wrap data blocks around

From: Daniil Tatianin

Date: Thu Sep 11 2025 - 04:36:37 EST



On 9/5/25 7:10 PM, John Ogness wrote:
On 2025-09-05, Daniil Tatianin <d-tatianin@xxxxxxxxxxxxxx> wrote:
On 9/5/25 6:27 PM, John Ogness wrote:
On 2025-09-05, Daniil Tatianin <d-tatianin@xxxxxxxxxxxxxx> wrote:
diff --git a/kernel/printk/printk_ringbuffer.c b/kernel/printk/printk_ringbuffer.c
index d9fb053cff67..99989a9ce4b4 100644
--- a/kernel/printk/printk_ringbuffer.c
+++ b/kernel/printk/printk_ringbuffer.c
@@ -1234,14 +1245,14 @@ static const char *get_data(struct prb_data_ring *data_ring,
}
/* Regular data block: @begin less than @next and in same wrap. */
- if (DATA_WRAPS(data_ring, blk_lpos->begin) == DATA_WRAPS(data_ring, blk_lpos->next) &&
+ if (!is_blk_wrapped(data_ring, blk_lpos->begin, blk_lpos->next) &&
blk_lpos->begin < blk_lpos->next) {
db = to_block(data_ring, blk_lpos->begin);
*data_size = blk_lpos->next - blk_lpos->begin;
/* Wrapping data block: @begin is one wrap behind @next. */
- } else if (DATA_WRAPS(data_ring, blk_lpos->begin + DATA_SIZE(data_ring)) ==
- DATA_WRAPS(data_ring, blk_lpos->next)) {
+ } else if (!is_blk_wrapped(data_ring,
+ blk_lpos->begin + DATA_SIZE(data_ring), blk_lpos->next)) {
It would look nicer if the arguments of the function were indented to
the function parenthesis:

} else if (!is_blk_wrapped(data_ring, blk_lpos->begin +
DATA_SIZE(data_ring), blk_lpos->next)) {
Would you like me to resend with this addressed?
Knowing Petr, I would say "yes". :-)

But wait for Petr's response before sending anything.

Friendly ping for Petr :)


John