ISST-LTE:pVM:thymelp2:ubuntu 16.04: change "maxcpus=1" to "nr_cpus=1" in kdump-tools

Bug #1568952 reported by bugproxy
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
makedumpfile (Ubuntu)
Fix Released
Undecided
Taco Screen team
Xenial
Fix Released
Low
Louis Bouchard
Yakkety
Fix Released
Undecided
Taco Screen team

Bug Description

[SRU justification]
Use a more restrictive kernel boot option to limit CPU numbers to 1

[Impact]
Will significantly lower crashkernel memory usage on some architectures (namely ppc64el)

[Fix]
Change the maxcpus boot parameter used in the kexec command by nr_cpus.

[Test Case]
kexec-config show will display maxcpus=1 without the change. It will show nr_cpus=1 with the proposed change.

[Regression]
None expected, nr_cpus is a more generic parameter and is more restrictive than the previous parameter.

[Original Problem Description of the problem]
== Comment: #0 - Ping Tian Han - 2016-04-07 23:04:30 ==
---Problem Description---
Because canonical has fixed bug 137281 ( LP: #1560552 ) in 4.4.0-17-generic, the kernel now supports "nr_cpus=1". So we should update the "maxcpus=1" to "nr_cpus=1" in /etc/default/kdump-tools I think.

---uname output---
Linux thymelp2 4.4.0-17-generic #33-Ubuntu SMP Tue Mar 29 17:15:31 UTC 2016 ppc64le ppc64le ppc64le GNU/Linux

Userspace tool: kdump-tools version 1:1.5.9-5

== Comment: #2 - Hari Krishna Bathini - 2016-04-11 04:36:14 ==
(In reply to comment #1)
> Hari.
>
> Would you please validate that nr_cpus is consistent across architectures
> and should become the new default?
>
> Thanks.

Hi Kevin,

I know nr_cpus=1 is supported on x86 based on this patch
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=14cb6dcf0a023f5977461c94d8d5a163c937979b

About other architectures, I am not really sure.

But looking at the kdump-tools source package, it seems like other architectures
are using maxcpus=1 to boot kdump kernel unless there is architecture specific
overrides that are missing in the source. Canonical might be able to answer better.

If other aren't using or willing to use nr_cpus=1, we may need a patch of this kind:

diff --git a/kdump-config b/kdump-config
index 0ff0e6f..aba300e 100755
--- a/kdump-config
+++ b/kdump-config
@@ -48,7 +48,11 @@ KDUMP_COREDIR=${KDUMP_COREDIR:=/var/crash}
 KDUMP_DUMP_DMESG=${KDUMP_DUMP_DMESG:=1}
 KDUMP_DIR="/var/lib/kdump"
 MAKEDUMP_ARGS=${MAKEDUMP_ARGS:="-c -d 31"}
-KDUMP_CMDLINE_APPEND=${KDUMP_CMDLINE_APPEND:="irqpoll maxcpus=1 nousb systemd.unit=kdump-tools.service"}
+if [ "$ARCH" = "ppc64le" ]; then
+ KDUMP_CMDLINE_APPEND=${KDUMP_CMDLINE_APPEND:="irqpoll nr_cpus=1 nousb systemd.unit=kdump-tools.service"}
+else
+ KDUMP_CMDLINE_APPEND=${KDUMP_CMDLINE_APPEND:="irqpoll maxcpus=1 nousb systemd.unit=kdump-tools.service"}
+fi
 KDUMP_KERNEL_HOOK="/etc/kernel/postinst.d/kdump-tools"
 [ -d $KDUMP_COREDIR ] || mkdir -p $KDUMP_COREDIR ;

== Comment: #4 - Kevin W. Rudd - 2016-04-11 11:08:16 ==
Mirroring to Canonical for their review and feedback.

bugproxy (bugproxy)
tags: added: architecture-ppc64le bugnameltc-140174 severity-medium targetmilestone-inin---
Changed in ubuntu:
assignee: nobody → Taco Screen team (taco-screen-team)
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Freenode.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1568952/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
Kevin W. Rudd (kevinr)
affects: ubuntu → makedumpfile (Ubuntu)
Revision history for this message
Louis Bouchard (louis) wrote :

Hello,

I am not against the modification but would like to understand better the rationale behind this. According to the kernel doc we have :
        maxcpus= [SMP] Maximum number of processors that an SMP kernel
                        should make use of. maxcpus=n : n >= 0 limits the
                        kernel to using 'n' processors. n=0 is a special case,
                        it is equivalent to "nosmp", which also disables
                        the IO APIC.

        nr_cpus= [SMP] Maximum number of processors that an SMP kernel
                        could support. nr_cpus=n : n >= 1 limits the kernel to
                        supporting 'n' processors. Later in runtime you can not
                        use hotplug cpu feature to put more cpu back to online.
                        just like you compile the kernel NR_CPUS=n

I personally would be inclined to use maxcpus=0 and totally disable SMP but I am opened to other options.

Kind regards,

...Louis

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2016-04-12 07:47 EDT-------
(In reply to comment #8)
> Hello,
>

Hi Louis,
> I am not against the modification but would like to understand better the
> rationale behind this. According to the kernel doc we have :

The rationale behind moving from maxcpus=1 to nr_cpus=1 is to reduce
the memory consumption in kdump kernel. nr_cpus is a hard limit that
has an impact on the (kdump) kernel memory consumption,
while it is not the case with maxcpus=1, as we can theoretically hotplug cpus
with maxcpus=1 (not something we would be needing for kdump).

> maxcpus= [SMP] Maximum number of processors that an SMP kernel
> should make use of. maxcpus=n : n >= 0 limits the
> kernel to using 'n' processors. n=0 is a special case,
> it is equivalent to "nosmp", which also disables
> the IO APIC.
>
> nr_cpus= [SMP] Maximum number of processors that an SMP kernel
> could support. nr_cpus=n : n >= 1 limits the kernel to
> supporting 'n' processors. Later in runtime you can not
> use hotplug cpu feature to put more cpu back to online.
> just like you compile the kernel NR_CPUS=n
>
> I personally would be inclined to use maxcpus=0 and totally disable SMP but
> I am opened to other options.
>

As for maxcpus=0, I am not really sure if powerpc supports maxcpus=0 / nosmp
currently.

Thanks
Hari

Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2016-06-09 12:28 EDT-------
This bug has been quiet for a couple of months now. Just pinging for status.

Louis Bouchard (louis)
Changed in makedumpfile (Ubuntu Xenial):
assignee: nobody → Louis Bouchard (louis-bouchard)
Revision history for this message
Louis Bouchard (louis) wrote :

Hello,

I am preparing a new release following a new upstream version and will implement that change.

Revision history for this message
Louis Bouchard (louis) wrote :

This has been fixed in version 1.6.0-1 available in Yakkety.

Changed in makedumpfile (Ubuntu Yakkety):
status: New → Fix Released
Louis Bouchard (louis)
Changed in makedumpfile (Ubuntu Xenial):
status: New → In Progress
importance: Undecided → Low
description: updated
Revision history for this message
Adam Conrad (adconrad) wrote : Please test proposed package

Hello bugproxy, or anyone else affected,

Accepted makedumpfile into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/makedumpfile/1:1.5.9-5ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in makedumpfile (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2016-07-25 01:18 EDT-------
(In reply to comment #13)
> Hello bugproxy, or anyone else affected,
>
> Accepted makedumpfile into xenial-proposed. The package will build now and
> be available at
> https://launchpad.net/ubuntu/+source/makedumpfile/1:1.5.9-5ubuntu0.1 in a
> few hours, and then in the -proposed repository.
>
> Please help us by testing this new package. See
> https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to
> enable and use -proposed. Your feedback will aid us getting this update out
> to other Ubuntu users.
>
> If this package fixes the bug for you, please add a comment to this bug,
> mentioning the version of the package you tested, and change the tag from
> verification-needed to verification-done. If it does not fix the bug for
> you, please add a comment stating that, and change the tag to
> verification-failed. In either case, details of your testing will help us
> make a better decision.
>
> Further information regarding the verification process can be found at
> https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
> advance!

Hi,

I don't think this bug should be fixed with makedumpfile. I think it should be fixed with kdump-tools.

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 1568952] Comment bridged from LTC Bugzilla

On Mon, Jul 25, 2016 at 05:19:34AM -0000, bugproxy wrote:
> I don't think this bug should be fixed with makedumpfile. I think it
> should be fixed with kdump-tools.

makedumpfile is the name of the source package which builds kdump-tools.

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2016-07-25 02:41 EDT-------
(In reply to comment #15)
> On Mon, Jul 25, 2016 at 05:19:34AM -0000, bugproxy wrote:
> > I don't think this bug should be fixed with makedumpfile. I think it
> > should be fixed with kdump-tools.
>
> makedumpfile is the name of the source package which builds kdump-tools.

I can confirm that this bug has been fixed with kdump-tools_1.5.9-5ubuntu0.1_all.deb

bugproxy (bugproxy)
tags: added: targetmilestone-inin16041 verification-done
removed: targetmilestone-inin--- verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package makedumpfile - 1:1.5.9-5ubuntu0.1

---------------
makedumpfile (1:1.5.9-5ubuntu0.1) xenial; urgency=medium

  [ Hari Bathini <email address hidden> ]
  * Fix networked kdump failure to reach remote server.
    Avoids "Network is unreachable" message when trying to do remote dumps on
    either SSH or NFS. (LP: #1571590)

  * Replace maxcpus by nr_cpus
    nr_cpus is a hard limit that has an impact on the (kdump) kernel
    memory consumption, while it is not the case with maxcpus=1, as we can
    theoretically hotplug cpus with maxcpus=1 (LP: #1568952)

  * define_stampdir() : Loop on hostname -I for 5 sec to get IP address
    if HOSTTAG=ip. The network stack may not be ready when kdump-config runs.
    Give it some time before reverting HOSTTAG to hostname if an IP address
    cannot be found. (LP: #1599561)

  * Add cio_ignore result to /etc/default/kdump-tools on s390x
    In order to have crashkernel=128M to work correctly on the s390
    architecture the result of cio_ignore -u -k needs to be appended to the
    KDUMP_CMDLINE_APPEND variable in /etc/default/kdump-tools. This patch
    adds the required logic to do the proper modification. (LP: #1570775)

  * debian/rules : drop the dh_installinit override
    Uses a syntax which is no longer supported and generate an error on
    install. (LP: #1599491)

 -- Louis Bouchard <email address hidden> Fri, 22 Jul 2016 10:15:20 +0200

Changed in makedumpfile (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for makedumpfile has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.