|
|
Subscribe / Log in / New account

Why printk() is so complicated (and how to fix it)

Why printk() is so complicated (and how to fix it)

Posted Oct 4, 2019 11:38 UTC (Fri) by smurf (subscriber, #17840)
Parent article: Why printk() is so complicated (and how to fix it)

Yay for even more ring buffers.


to post comments

Why printk() is so complicated (and how to fix it)

Posted Oct 4, 2019 14:19 UTC (Fri) by shalem (subscriber, #4062) [Link] (5 responses)

Maybe we need one ring (buffer) to rule them all?

Why printk() is so complicated (and how to fix it)

Posted Oct 4, 2019 16:37 UTC (Fri) by zlynx (guest, #2285) [Link] (1 responses)

This One Ring Buffer would of course be a ring of pointers to every other ring buffer.

Why printk() is so complicated (and how to fix it)

Posted Oct 7, 2019 12:22 UTC (Mon) by ncultra (✭ supporter ✭, #121511) [Link]

The virtio ring buffer is most frequently used as a ring of pointers to other buffers. This wreaks havoc with performance as the virtual machine monitor is constantly having to (re) map the pointed-to buffer addresses to host-physical from guest-physical. Just something to consider. The newer virtio spec has a good solution to this (anti) feature, but it is only recently in the mainline kernel, so most distributions still have to deal with what virtio calls indirect buffers. It's easy to overlook the performance impact of "indirect" memory access and function calls.

Why printk() is so complicated (and how to fix it)

Posted Oct 4, 2019 19:55 UTC (Fri) by valarauca (guest, #109490) [Link] (1 responses)

Situation: There are 5 different competing ring buffers

> Maybe we need one ring (buffer) to rule them all?

Situation: There are 6 different competing ring buffers

credit: https://xkcd.com/927/

Why printk() is so complicated (and how to fix it)

Posted Oct 7, 2019 13:10 UTC (Mon) by bene42 (subscriber, #32623) [Link]

I am not aware that there are more competing multiple reader/multiple writer ringbuffer implementations out there.
A link would be very helpful. Maybe there is a simpler solution, since the new one is quite complex and hard to understand...

Why printk() is so complicated (and how to fix it)

Posted Oct 8, 2019 0:41 UTC (Tue) by KaiRo (subscriber, #1987) [Link]

You already suggest how the story will continue: one person with a clean soul will need to be found to carry the one ring (buffer) to the source, er, I mean, the big Vulcan of evil, to finally burn it fire and free the world...


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds