From: Michal Hocko <mhocko@suse.com>
To: Petr Mladek <pmladek@suse.com>
Cc: "Ricardo Cañuelo" <ricardo.canuelo@collabora.com>,
akpm@linux-foundation.org, kernel@collabora.com, hch@lst.de,
guro@fb.com, rientjes@google.com, mcgrof@kernel.org,
keescook@chromium.org, yzaikin@google.com, linux-mm@kvack.org,
"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
"Steven Rostedt" <rostedt@goodmis.org>
Subject: Re: [PATCH] mm, oom: enable rate-limiting controls for oom dumps
Date: Mon, 12 Oct 2020 17:41:14 +0200 [thread overview]
Message-ID: <20201012154114.GJ29725@dhcp22.suse.cz> (raw)
In-Reply-To: <20201012152232.GD10602@alley>
On Mon 12-10-20 17:22:32, Petr Mladek wrote:
> > Add two sysctl entries (vm.oom_dump_ratelimit and
> > vm.oom_dump_ratelimit_burst) to control the rate limiting interval and
> > burst, respectively, of the OOM killer output (oom_kill_process()).
> >
> > These entries are disabled by default and can be enabled during kernel
> > configuration with CONFIG_DUMP_RATELIMIT. They take
> > DEFAULT_RATELIMIT_INTERVAL and DEFAULT_RATELIMIT_BURST as their default
> > values.
> >
> > Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
> > ---
> >
> > In some setups, the amount of output that the OOM killer generates when
> > it kills a process and dumps the list of tasks can be too
> > large. Unfortunately, the rate-limiting used for it uses the default
> > values for the rate limit interval and burst. This patch allows the user
> > to configure these values.
>
> It might be pretty hard to set any reasonable values. It depends on
> the console speed and the amount of processes on the system. I wonder
> who many people would be able to use it in reality.
Agreed!
> What about introducing some feedback from the printk code?
>
> static u64 printk_last_report_seq;
>
> if (consoles_seen(printk_last_report_seq)) {
> dump_header();
> printk_last_report_seq = printk_get_last_seq();
> }
>
> By other words. It would skip the massive report when the consoles
> were not able to see the previous one.
I am pretty sure this has been discussed in the past but maybe we really
want to make ratelimit to work reasonably also for larger sections
instead. Current implementation only really works if the rate limited
operation is negligible wrt to the interval. Can we have a ratelimit
alternative with a scope effect (effectivelly lock like semantic)?
if (rate_limit_begin(&oom_rs)) {
dump_header();
rate_limit_end(&oom_rs);
}
rate_limi_begin would act like a try lock with additional constrain on
the period/cadence based on rate_limi_end marked values.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2020-10-12 15:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-09 9:30 Ricardo Cañuelo
2020-10-12 15:18 ` Michal Hocko
2020-10-13 9:23 ` Ricardo Cañuelo
2020-10-13 11:56 ` Michal Hocko
2020-10-12 15:22 ` Petr Mladek
2020-10-12 15:41 ` Michal Hocko [this message]
2020-10-13 0:40 ` Tetsuo Handa
2020-10-13 7:25 ` Michal Hocko
2020-10-13 9:02 ` Petr Mladek
2020-10-13 10:46 ` Tetsuo Handa
2020-10-15 13:05 ` Petr Mladek
2020-10-13 9:18 ` Ricardo Cañuelo
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=20201012154114.GJ29725@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=guro@fb.com \
--cc=hch@lst.de \
--cc=keescook@chromium.org \
--cc=kernel@collabora.com \
--cc=linux-mm@kvack.org \
--cc=mcgrof@kernel.org \
--cc=pmladek@suse.com \
--cc=ricardo.canuelo@collabora.com \
--cc=rientjes@google.com \
--cc=rostedt@goodmis.org \
--cc=sergey.senozhatsky@gmail.com \
--cc=yzaikin@google.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