[Crash-utility] [RFC PATCH 0/1] support lockless printk ringbuffer

Dave Anderson anderson at redhat.com
Tue Apr 21 21:32:56 UTC 2020



----- Original Message -----
> Hi Dave,
> 
> I created a proof-of-concept patch to work with the new printk
> ringbuffer (as it is currently being proposed). I create a separate
> source file (printk.c) because of all the helper functions.

That's fine.

> 
> The code doesn't do much error checking if symbols were missing,
> and it probably doesn't work unless the machine running crash(8)
> has the same endian and pointer-size as the crashed machine. But
> otherwise, it does work correctly.

Not a problem.  With respect to both endian-ness and pointer-size, the
crash utility binary must match that of the dumpfile's kernel. 

> The most important part I wanted to have implemented was the new
> logic for record traversal and printing. Being one of the authors
> for the new printk ringbuffer, implementing this was far easier
> for me than for someone unfamiliar with the ringbuffer internals.
> 
> It is using the new "prb" symbol. I did not add VMCOREINFO
> support.
> 
> Note that this is based on the PATCHv2 that I have queued for
> posting to LKML, but as of right now have not yet posted.
> Basically I am waiting for feedback from Kazuhito regarding my
> VMCOREINFO query. (It will not work with previous iterations
> of the new ringbuffer because the struct names have changed.)

Right -- I'm interested in what he has to say.

> 
> I don't expect you to take the patch as-is, but I hope it can
> provide some positive ground work for moving forward.

It looks pretty good for starters.  Damn good!

And I have to say how much I appreciate the initiative you've
taken to help us out here.  Usually kernel developers are either 
(1) unaware of how their changes affect the crash utility 
and/or makedumpfile, or (2) don't give a shit.     

Thanks,
  Dave
  

 
> John Ogness (1):
>   crash: printk: add support for lockless ringbuffer
> 
>  Makefile |   5 +
>  defs.h   |  24 +++++
>  kernel.c |   8 +-
>  printk.c | 298 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 334 insertions(+), 1 deletion(-)
>  create mode 100644 printk.c
> 
> --
> 2.20.1
> 
> 




More information about the Crash-utility mailing list