public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Baoquan He <bhe@redhat.com>
To: Sourabh Jain <sourabhjain@linux.ibm.com>
Cc: Eric DeVolder <eric.devolder@oracle.com>,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	kexec@lists.infradead.org, ebiederm@xmission.com,
	dyoung@redhat.com, vgoyal@redhat.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
	hpa@zytor.com, nramas@linux.microsoft.com,
	thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de,
	rppt@kernel.org, david@redhat.com, konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com
Subject: Re: [PATCH v7 4/8] crash: add generic infrastructure for crash hotplug support
Date: Thu, 5 May 2022 13:45:37 +0800	[thread overview]
Message-ID: <YnNkgfnHlUTky0lt@MiWiFi-R3L-srv> (raw)
In-Reply-To: <f2dbd4fe-6201-b5c4-2725-dec9c3dbf13e@linux.ibm.com>

On 04/28/22 at 10:48am, Sourabh Jain wrote:
> Hi Baoquan,
> 
> On 26/04/22 10:52, Baoquan He wrote:
> > On 04/26/22 at 09:36am, Sourabh Jain wrote:
> > > On 15/04/22 03:59, Eric DeVolder wrote:
......

> > > > > > +#if defined(CONFIG_MEMORY_HOTPLUG)
> > > > > > +static int crash_memhp_notifier(struct notifier_block *nb,
> > > > > > +    unsigned long val, void *v)
> > > > > > +{
> > > > > > +    struct memory_notify *mhp = v;
> > > > > > +
> > > > > > +    switch (val) {
> > > > > > +    case MEM_ONLINE:
> > > > > > +        crash_hotplug_handler(KEXEC_CRASH_HP_ADD_MEMORY, -1U);
> > > > > We don't differentiate the memory add/remove, cpu add, except of cpu
> > > > > remove. Means the hp_action only differentiate cpu remove from the other
> > > > > action. Maybe only making two types?
> > > > > 
> > > > > #define KEXEC_CRASH_HP_REMOVE_CPU   0
> > > > > #define KEXEC_CRASH_HP_UPDATE_OTHER      1
> > > > > 
> > > > Sourabh Jain's work with PPC uses REMOVE_CPU, REMOVE_MEMORY, and
> > > > ADD_MEMORY.
> > > > Do you still want to consolidate these?
> > > On PowerPC different actions are needed for CPU add and memory add/remove.
> > > For CPU add case only FDT is updated whereas for the memory hotplug we will
> > > be
> > > updating FDT and elfcorehdr.
> > I don't understand. For elfcorehdr updating, we only need regenerate it.
> > Do you update them different for memory add/remove?
> 
> We have different actions for cpu remove, CPU add and memory add/remove
> case.
> 
> CPU remove: no action
> CPU add: update flattened device tree (FDT)
> memory add/remove: update FDT and regenerate/update elfcorehdr
> 
> Since memory add/remove action is same we can have common hp_action for
> them.

For memory hot add/remove, we need rengereate elfcorehdr, and add the
new elfcorehdr into fdt. Except of this, FDT need to know the hp_action
and the hot added/removed memory region, namely the start and end, e.g
[start, end]? 

I checked arm64 kexec code, seems we only need to know if mem hotplug
event happened, then regenerate elfcorehdr and embed the new elfcorehdr
into fdt. Then we don't know pass the [start, end] info into the
handler. Please tell if ppc is different or I missed anything.

If I am right, I would like the handler interface as Boris has made
in his draft patch.

void __weak arch_crash_handle_hotplug_event(struct kimage *image, unsigned int hp_action,
                                           unsigned int cpu)

static void handle_hotplug_event(unsigned int hp_action, unsigned int cpu)
> 
> > 
> > What I saw is the added action for memory hotplug is only for message
> > printing. Is this really needed? And memory hotplug is even not
> > supported. Please correct me if I missed anything.
> 
> I agree that currently memory hp_action is only used for printing warning
> message but
> eventually we will be handling memory hotplug case as well.
> 
> > +       /* crash update on memory hotplug is not support yet */
> > +       if (hp_action == KEXEC_CRASH_HP_REMOVE_MEMORY || hp_action == KEXEC_CRASH_HP_ADD_MEMORY) {
> > +               pr_info_once("crash hp: crash update is not supported with memory hotplug\n");
> > +               return;
> > +       }
> 
> Thanks,
> Sourabh Jain
> 


  parent reply	other threads:[~2022-05-05  5:45 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-13 16:42 [PATCH v7 0/8] crash: Kernel handling of CPU and memory hot un/plug Eric DeVolder
2022-04-13 16:42 ` [PATCH v7 1/8] x86/crash: fix minor typo/bug in debug message Eric DeVolder
2022-04-13 17:52   ` [tip: x86/kdump] x86/crash: Fix " tip-bot2 for Eric DeVolder
2022-04-28  9:49   ` [PATCH v7 1/8] x86/crash: fix " David Hildenbrand
2022-04-13 16:42 ` [PATCH v7 2/8] x86/crash: Introduce new options to support cpu and memory hotplug Eric DeVolder
2022-04-14 13:59   ` Borislav Petkov
2022-04-18 22:03     ` Eric DeVolder
2022-04-19 10:32       ` Borislav Petkov
2022-04-19 21:58         ` Eric DeVolder
2022-04-25 19:25           ` Borislav Petkov
2022-04-26 20:08             ` Eric DeVolder
2022-04-27 10:48               ` Borislav Petkov
2022-04-26  4:21   ` Sourabh Jain
2022-04-26 14:39     ` Eric DeVolder
2022-04-29  6:41       ` Sourabh Jain
2022-05-05 16:31         ` Eric DeVolder
2022-04-13 16:42 ` [PATCH v7 3/8] crash: prototype change for crash_prepare_elf64_headers Eric DeVolder
2022-04-13 16:42 ` [PATCH v7 4/8] crash: add generic infrastructure for crash hotplug support Eric DeVolder
2022-04-14  2:45   ` Baoquan He
2022-04-14 22:29     ` Eric DeVolder
2022-04-18  3:17       ` Baoquan He
2022-04-26  4:06       ` Sourabh Jain
2022-04-26  5:22         ` Baoquan He
2022-04-28  5:18           ` Sourabh Jain
2022-05-04 18:11             ` Eric DeVolder
2022-05-05  5:45             ` Baoquan He [this message]
2022-05-05  9:59               ` Sourabh Jain
2022-05-05 11:04                 ` Baoquan He
2022-05-05 13:35                   ` Eric DeVolder
2022-04-13 16:42 ` [PATCH v7 5/8] kexec: exclude elfcorehdr from the segment digest Eric DeVolder
2022-04-13 16:42 ` [PATCH v7 6/8] kexec: exclude hot remove cpu from elfcorehdr notes Eric DeVolder
2022-04-14  2:48   ` Baoquan He
2022-04-14 22:31     ` Eric DeVolder
2022-04-13 16:42 ` [PATCH v7 7/8] x86/crash: Add x86 crash hotplug support for kexec_file_load Eric DeVolder
2022-04-14  2:52   ` Baoquan He
2022-04-14 22:32     ` Eric DeVolder
2022-04-13 16:42 ` [PATCH v7 8/8] x86/crash: Add x86 crash hotplug support for kexec_load Eric DeVolder

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=YnNkgfnHlUTky0lt@MiWiFi-R3L-srv \
    --to=bhe@redhat.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@redhat.com \
    --cc=dyoung@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=efault@gmx.de \
    --cc=eric.devolder@oracle.com \
    --cc=hpa@zytor.com \
    --cc=kexec@lists.infradead.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nramas@linux.microsoft.com \
    --cc=robh@kernel.org \
    --cc=rppt@kernel.org \
    --cc=sourabhjain@linux.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=vgoyal@redhat.com \
    --cc=x86@kernel.org \
    /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