Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1543248
| From | "Luis R. Rodriguez" <mcgrof@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RFC 03/10] kmod: add dynamic max concurrent thread count |
| Date | 2016-12-16 09:50 +0100 |
| Message-ID | <sOWnf-16h-3@gated-at.bofh.it> (permalink) |
| References | <sMbVv-188-1@gated-at.bofh.it> <sMcRA-1I2-19@gated-at.bofh.it> <sOk8i-8fp-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, Dec 14, 2016 at 04:38:27PM +0100, Petr Mladek wrote:
> On Thu 2016-12-08 11:48:14, Luis R. Rodriguez wrote:
> > diff --git a/init/Kconfig b/init/Kconfig
> > index 271692a352f1..da2c25746937 100644
> > --- a/init/Kconfig
> > +++ b/init/Kconfig
> > @@ -2111,6 +2111,29 @@ config TRIM_UNUSED_KSYMS
> >
> > If unsure, or if you need to build out-of-tree modules, say N.
> >
> > +config MAX_KMOD_CONCURRENT
> > + int "Max allowed concurrent request_module() calls (6=>64, 10=>1024)"
> > + range 0 14
>
> Would not too small range break loading module dependencies?
No, dependencies are resolved by depmod, so userspace looks at the list and
just finit_module() the depenencies, skipping kmod. So the limit is
really only for kernel acting like a boss.
> I am not sure how it is implemented but it might require having
> some more module loads in progress.
Dependencies should be OK, a more serious concern with dependencies is
the aggregate memory it takes to load all dep modules for one required
module since finit_module() ends up allocating the struct module to copy
over data from userspace.
> I would give 6 as minimum. Nobody has troubles with the current limit.
Fair enough! Although disabling modprobe calls all together seemed like
a fun test, that should we allow that via the module parameter at least?
> > + default 6 if !BASE_SMALL
> > + default 7 if BASE_SMALL
>
> Aren't the conditions inversed?
Whoops yes, sorry.
> > +void __init init_kmod_umh(void)
> > +{
> > + if (!max_modprobes)
> > + max_modprobes = min(max_threads/2,
> > + 2 << CONFIG_MAX_KMOD_CONCURRENT);
>
> This should be
>
> 1 << CONFIG_MAX_KMOD_CONCURRENT);
>
> 1 << 1 = 2;
>
> Note that this calculation is mentioned also some comments and
> documentation.
Heh sorry, yes fixed! Good thing I had still tested all along with the
value I intended though :P
Luis
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
Re: [RFC 03/10] kmod: add dynamic max concurrent thread count Petr Mladek <pmladek@suse.com> - 2016-12-14 17:00 +0100 Re: [RFC 03/10] kmod: add dynamic max concurrent thread count "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-12-16 09:50 +0100
csiph-web