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 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome