linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Qian Cai <cai@gmx.us>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Waiman Long <longman@redhat.com>,
	Yang Shi <yang.shi@linux.alibaba.com>,
	arnd@arndb.de, linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] debugobjects: add a new Kconfig for POOL_SIZE
Date: Mon, 19 Nov 2018 09:09:16 +0100 (CET)	[thread overview]
Message-ID: <alpine.DEB.2.21.1811190904450.9459@nanos.tec.linutronix.de> (raw)
In-Reply-To: <5939F7F3-E332-4112-861E-C6C0DF86717E@gmx.us>

Qian,

On Sun, 18 Nov 2018, Qian Cai wrote:
> > On Nov 18, 2018, at 1:21 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> > On Sun, 18 Nov 2018, Qian Cai wrote:
> >> As the results, systems have 60+ CPUs with both timer and workqueue
> >> objects enabled could trigger "ODEBUG: Out of memory. ODEBUG disabled".
> >> 
> >> Hence, add a new Kconfig option so users could adjust ODEBUG_POOL_SIZE
> >> accordingly if either timer or workqueue objects are selected.
> > 
> > why do we need a config option, when the required number can be deduced
> > already from the active CONFIG_DEBUG_OBJECTS_* and NR_CPUS?
> > 
> It because I am worry about the coupling between the implementation details of
> timers and workqueue objects, and the computation in the code you mentioned
> here. For example, people could change workqueue.c to have different number
> of worekqueues initialized during the early boot in the future which is going to
> affect the required pool size, and I am not sure if people are going to adjust the
> code in debugobjects.c here as well when they made changes like that.
> 
> Also, the computation could become so complex depends on lots of config
> options like perf, hrtimer, and combinations that I have not tested so far which is
> difficult to exhausted all the possibilities.
> 
> Hence, I feel like the Kconfig option is more flexible and less error-prone.

Quite the contrary. Config options are a pain and truly error-prone if you
want to compile general purpose kernels as distributions do.

Its not really a problem to have a larger initial static pool which gets
freed after init anyway. So we can size it generously depending on the
config options and be done with it.

Thanks,

	tglx


  reply	other threads:[~2018-11-19  8:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-18  8:22 [PATCH] debugobjects: add a new Kconfig for POOL_SIZE Qian Cai
2018-11-18 18:21 ` Thomas Gleixner
2018-11-18 18:56   ` Qian Cai
2018-11-19  8:09     ` Thomas Gleixner [this message]
2018-11-19 13:27       ` Qian Cai
2018-11-19 14:51         ` Waiman Long
2018-11-19 15:17           ` Qian Cai
2018-11-19 16:19             ` Waiman Long
2018-11-19 16:25               ` Thomas Gleixner
2018-11-19 16:32                 ` Qian Cai
2018-11-18 22:08 ` [PATCH v2] " Qian Cai

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=alpine.DEB.2.21.1811190904450.9459@nanos.tec.linutronix.de \
    --to=tglx@linutronix.de \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=cai@gmx.us \
    --cc=linux-kernel@vger.kernel.org \
    --cc=longman@redhat.com \
    --cc=yang.shi@linux.alibaba.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;
as well as URLs for NNTP newsgroup(s).