Linux Remote Processor Subsystem development
 help / color / mirror / Atom feed
From: Mukesh Ojha <quic_mojha@quicinc.com>
To: Ruipeng Qi <ruipengqi7@gmail.com>
Cc: <agross@kernel.org>, <alim.akhtar@samsung.com>,
	<andersson@kernel.org>, <bmasney@redhat.com>,
	<conor+dt@kernel.org>, <corbet@lwn.net>, <gpiccoli@igalia.com>,
	<keescook@chromium.org>, <kernel@quicinc.com>, <kgene@kernel.org>,
	<konrad.dybcio@linaro.org>, <krzysztof.kozlowski+dt@linaro.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-arm-msm@vger.kernel.org>, <linux-doc@vger.kernel.org>,
	<linux-hardening@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-mediatek@lists.infradead.org>,
	<linux-remoteproc@vger.kernel.org>,
	<linux-samsung-soc@vger.kernel.org>, <mathieu.poirier@linaro.org>,
	<matthias.bgg@gmail.com>, <nm@ti.com>, <robh+dt@kernel.org>,
	<tony.luck@intel.com>, <vigneshr@ti.com>, <qiruipeng@lixiang.com>
Subject: Re: RESEND: Re: [Patch v6 03/12] docs: qcom: Add qualcomm minidump guide
Date: Wed, 3 Jan 2024 20:57:13 +0530	[thread overview]
Message-ID: <520e377d-e990-c185-4a20-07806873e506@quicinc.com> (raw)
In-Reply-To: <20231225135542.1789-1-ruipengqi7@gmail.com>



On 12/25/2023 7:25 PM, Ruipeng Qi wrote:
> <+How a kernel client driver can register region with minidump
> <+------------------------------------------------------------
> <+
> <+Client driver can use ``qcom_minidump_region_register`` API's to register
> <+and ``qcom_minidump_region_unregister`` to unregister their region from
> <+minidump driver.
> <+
> <+Client needs to fill their region by filling ``qcom_minidump_region``
> <+structure object which consists of the region name, region's virtual
> <+and physical address and its size.
> 
> Hi, Mukesh, wish you a good holiday :)

Hope you had the same..:-)

> 
> I have the following idea, please help me to assess whether this can be
> implemented or not. As we all know, most of the kernel objects are
> allocated by the slab sub-system.I wonder if we can dump all memory
> keeped by the slab sub-system? If so,  we got most of the kernel objects
> which will be helpful to fix problems when we run with system issues.
> 
> How can we do this? From the description above, I think we should
> register one region for each slab,  for each slab will have some pages,
> and the memory between each slab is non-continuous. As we all
> know, there are millions of slabs in the system, so if we dump slabs
> in this way, it will introduce a heavy overhead.
> 
> I am not very familiar with qualcomm minidump, maybe my thought
> is wrong. Looking forward to your reply!

In the current state and in simple terms, Qualcomm Minidump can not do
this, Minidump is more of a consumer driver so, what ever gets
registered with it, it can dump. Qualcomm Minidump serves bigger purpose
to dump content in any kind of crash whether it is kernel or non-kernel
like NOC errors/XPUs etc and both kernel/non-kernel entity can register 
to it, so we gets dump in any kind of system crash.

One more thing, kernel part of minidump, we are calling it APSS Minidump
has limitation of no of entries so it will be difficult to dump 
non-continuous regions after a certain number of registration ~200. However,
we do have a solution in downstream kernel for it like to create a big 
CMA buffer and register this buffer with Minidump so that whatever gets 
dumped in that buffer gets captured during crash and fill up this buffer 
and create elf during panic. I think, similar thing you are also doing 
with your OS-minidump.

I have just glanced into your implementation of OS-minidump, it
more of relying on basic concept of RAM content preserved
across boot and later reading it through procfs but this basic
stuff is common to pstore(ram) as well and pstore has file system 
support why don't you make your driver as one of pstore record and that 
way Qualcomm minidump also gets benefited where entire OS-minidump 
record gets registered with Qualcomm minidump and we get this on panic 
and you get this via pstorefs.

-Mukesh

> 
> Best Regards
> Ruipeng

  reply	other threads:[~2024-01-03 15:28 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-24 22:19 [Patch v6 00/12] Add Qualcomm Minidump driver related support Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 01/12] firmware: qcom_scm: Refactor code to support multiple dload mode Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 02/12] firmware/qcom: qcom_scm: Add multiple download mode support Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 03/12] docs: qcom: Add qualcomm minidump guide Mukesh Ojha
2023-11-27  5:38   ` Bagas Sanjaya
2023-11-28 13:15   ` Bryan O'Donoghue
2023-12-11 13:20     ` Mukesh Ojha
2023-12-25 13:55   ` RESEND: " Ruipeng Qi
2024-01-03 15:27     ` Mukesh Ojha [this message]
2024-01-08 15:34       ` Ruipeng Qi
2024-01-09  8:27         ` Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 04/12] soc: qcom: Add qcom_rproc_minidump module Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 05/12] remoteproc: qcom_q6v5_pas: Use qcom_rproc_minidump() Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 06/12] remoteproc: qcom: Remove minidump related data from qcom_common.c Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 07/12] init: export linux_banner data variable Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 08/12] soc: qcom: Add Qualcomm APSS minidump kernel driver Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 09/12] MAINTAINERS: Add entry for minidump related files Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 10/12] pstore/ram: Add dynamic ramoops region support through commandline Mukesh Ojha
2023-11-27 11:34   ` Pavan Kondeti
2023-11-28 10:32     ` Mukesh Ojha
2023-11-28 16:03       ` Pavan Kondeti
2023-11-24 22:19 ` [Patch v6 11/12] pstore/ram: Add ramoops ready notifier support Mukesh Ojha
2023-11-27 10:10   ` Pavan Kondeti
2023-11-28 11:10     ` Mukesh Ojha
2023-11-24 22:19 ` [Patch v6 12/12] soc: qcom: register ramoops region with APSS minidump Mukesh Ojha
     [not found] <in-reply-to=1700864395-1479-4-git-send-email-quic_mojha@quicinc.com>
2023-12-25 13:51 ` RESEND: Re: [Patch v6 03/12] docs: qcom: Add qualcomm minidump guide Ruipeng Qi

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=520e377d-e990-c185-4a20-07806873e506@quicinc.com \
    --to=quic_mojha@quicinc.com \
    --cc=agross@kernel.org \
    --cc=alim.akhtar@samsung.com \
    --cc=andersson@kernel.org \
    --cc=bmasney@redhat.com \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=gpiccoli@igalia.com \
    --cc=keescook@chromium.org \
    --cc=kernel@quicinc.com \
    --cc=kgene@kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=matthias.bgg@gmail.com \
    --cc=nm@ti.com \
    --cc=qiruipeng@lixiang.com \
    --cc=robh+dt@kernel.org \
    --cc=ruipengqi7@gmail.com \
    --cc=tony.luck@intel.com \
    --cc=vigneshr@ti.com \
    /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