From: Rusty Russell <rusty@rustcorp.com.au>
To: Prarit Bhargava <prarit@redhat.com>
Cc: linux-kernel@vger.kernel.org, Mike Galbraith <efault@gmx.de>,
Josh Triplett <josh@joshtriplett.org>,
Tim Abbott <tabbott@ksplice.com>, "Tejun Heo" <tj@kernel.org>
Subject: Re: [PATCH] module, fix percpu reserved memory exhaustion
Date: Sat, 12 Jan 2013 11:36:09 +1030 [thread overview]
Message-ID: <87pq1byzum.fsf@rustcorp.com.au> (raw)
In-Reply-To: <50F01EC2.1000908@redhat.com>
Prarit Bhargava <prarit@redhat.com> writes:
> On 01/10/2013 10:48 PM, Rusty Russell wrote:
> The timing were similar. I didn't see any huge delays, etc. Can the
> relocations really cause a long delay? I thought we were pretty much writing
> values to memory...
For x86 that's true, but look at what ppc64 has to do for example. I'm
guessing you don't have a giant Nvidia proprietary driver module
loading, either.
It just makes me nervous; this kind of boot slowdown typically won't get
diagnosed for several releases, if ever. Now I've done the work, I'm
going to apply my patch (with an additional fix: I forgot to change
kgdb, which traverses the module list too).
> [I should point out that I'm booting a 32 physical/64 logical, with 64GB of memory]
I figured it had to be something big ;)
>> We currently have PERCPU_MODULE_RESERVE set at 8k: in my 32-bit
>> allmodconfig build, there are only three modules with per-cpu data,
>> totalling 328 bytes. So it's not reasonable to increase that number to
>> paper over this.
>
> I've been thinking about that. The problem is that at the same time the kvm
> problem occurs I'm attempting to load a debug module that I've written to debug
> some cpu timer issues that allocates a large amount of percpu data (~.5K/cpu).
> While extending PERCPU_MODULE_RESERVE to 10k might work now, it might not work
> tomorrow if I have the need to increase the size of my log buffer.
Well, it looks like PERCPU_MODULE_RESERVE is actually very generous; it
could easily be halved. I guess this is because dynamic per-cpu data is
now such a nice alternative (thanks to Tejun).
> <snip patch>
>
> Tested-by: Prarit Bhargava <prarit@redhat.com>
>
> Rusty, you can change that to an Acked-by if you prefer that. I know some
> engineers prefer one over the other. I'll also continue doing some reboot
> testing and will email back in a few days to let you know what the timing looks
> like.
There seem to be two kinds of Acked-by:
1) Acked-by: <maintainer>. ie. "this should go through my tree, but
it's going via someone else". I like this: shows the normal
maintainer is aware of the change.
2) Acked-by: <random>. ie. "I like the concept of the patch though I
haven't actually read it or tested it". Completely useless.
OTOH, Tested-by: means it actually fixed someone's problem.
Thanks!
Rusty.
next prev parent reply other threads:[~2013-01-12 1:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-10 2:41 [PATCH] module, fix percpu reserved memory exhaustion Prarit Bhargava
2013-01-11 3:48 ` Rusty Russell
2013-01-11 14:16 ` Prarit Bhargava
2013-01-12 1:06 ` Rusty Russell [this message]
2013-01-14 14:29 ` Prarit Bhargava
2013-01-14 17:18 ` Tejun Heo
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=87pq1byzum.fsf@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=efault@gmx.de \
--cc=josh@joshtriplett.org \
--cc=linux-kernel@vger.kernel.org \
--cc=prarit@redhat.com \
--cc=tabbott@ksplice.com \
--cc=tj@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.