[PATCH 1/7] [RFC PATCH 1/7] osdump: Add one new os minidump module

ruipeng qi ruipengqi7 at gmail.com
Sat Dec 23 06:12:57 PST 2023


On Fri, Dec 22, 2023 at 12:25 AM Krzysztof Kozlowski <krzysztof.kozlowski
@linaro.org> wrote:
> > Osdump is a new crash dumping solution aiming at specific embedded
> > devices within automotive or Industrial.
> >  - limited memory.
> >  - reboot as soon as possible when system fault.
>
> NAK, sorry, work with Qualcomm minidump series to incorporate all your
> needs there.

Sorry, I didn't explain it properly. Will add more descriptions in the
next version. Osdump is a totally different mindump, which aims at
helping to solve kernel issues as easy as kdump/kexec/crash, but
with little costs.

For something like Pstore, you can get where the issue occurs. You can
figure out the problem if it is easy, but sometimes you can't. For example:

<4>[    5.311431]  task_blocks_on_rt_mutex+0x234/0x380
<4>[    5.316166]  rt_spin_lock_slowlock_locked+0xcc/0x2b0
<4>[    5.321257]  rt_spin_lock_slowlock+0x5c/0x90
<4>[    5.325633]  rt_spin_lock+0x60/0x74
<4>[    5.329207]  refill_stock+0x58/0x230

You can find where the issue occurs.
static inline struct rt_mutex_waiter *rt_mutex_top_waiter(struct rt_mutex *lock)
 {
  struct rb_node *leftmost = rb_first_cached(&lock->waiters);
  struct rt_mutex_waiter *w = NULL;
  if (leftmost) {
    w = rb_entry(leftmost, struct rt_mutex_waiter, tree_entry);
    BUG_ON(w->lock != lock);

But you don't know why w->lock and lock are different, and who is wrong.

Qcom minidump can dump some logs like dmsg, some status like IRQ or
Run queue. This can help to learn some information when the issue occurs,
which will help to find out the root cause. But what it dumps are limited, it
doesn't dump w and lock if they are not local data.

For osdump, it dumps objects stored in slab, datas in bss, data segments,
some data alloced with memblock, data stored in local stack, and so on.
In a word, it dumps almost all of the key data in the kernel. Besides, you
can use the crash tool to analyze the dump file.

In a word, I think this toal different minidump should have its own place in
the kernel world. Looking forward to your suggestions!

Best Regards
Ruipeng



More information about the kexec mailing list