From: Bodo Eggert <7eggert@gmx.de>
To: Edjard Souza Mota <edjard@gmail.com>
Cc: Bodo Eggert <7eggert@gmx.de>, Alan Cox <alan@lxorguk.ukuu.org.uk>,
Ilias Biris <xyz.biris@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: User space out of memory approach
Date: Thu, 20 Jan 2005 06:00:54 +0100 (CET) [thread overview]
Message-ID: <Pine.LNX.4.58.0501200437180.6801@be1.lrz> (raw)
In-Reply-To: <4d6522b90501191920410780fe@mail.gmail.com>
On Thu, 20 Jan 2005, Edjard Souza Mota wrote:
> > > > What about creating a linked list of (stackable) algorhithms which can be
> > > > extended by loading modules and resorted using {proc,sys}fs? It will avoid
> > > > the extra process, the extra CPU time (and task switches) to frequently
> > > > update the list and I think it will decrease the typical amount of used
> > > > memory, too.
> > >
> > > Wouldn't this bring the (set of ) ranking algorithm(s) back to the kernel? This
> > > is exactly what we're trying to avoid.
> >
> > You're trying to avoid it in order to let admins try other ranking
> > algorhithms (at least that's what I read). The module approach seems to be
> > flexible enough to do that, and it avoids the mentioned issues. If you
> > really want a userspace daemon, it can be controled by a module.-)
>
> Yes, your reading is correct, but this choice should take into account
> the "patterns"
> of how memory is allocated for user's mostly used applications. Why?
> The closer the
> ranking gets to "The Best choice" the longer it will take to invoke
> oom killer again.
ACK.
> I am wondering how could a module control a user space deamon if it
> hasn't started
> yet? I mean, processes at user space are supposed to start only after
> all modules
> are loaded (those loadable at boot time). So, this user space deamon
> would break
> this standard. But if we manage to have a special module that takes
> care of loading
> this stack of OOM Killer ranking algorithms, then the deamon would
> not need to break
> the default order of loading modules.
I don't think there neeeds to be a special order while loading the
modules, since each module will provide a defined interface which can be
registered in a linked list and sorted on demand. Just init all
compiled-in modules and sort using a kernel-parameter (remembering
modprobe might be fubar), then modprobe (if compiled-in) all missing
decision modules from the list (appending them) and resort again.
If the admin wants to add a module later, he can also change the order
again, possibly after configuring the module. Disabeling may be either
done by moving a decision past one without fall-through or by using a
seperate list.
There will be a need for a controling instance which will build a list of
candidates and pass it to each decision module in turn untill the victim
is found. Maybe the list will need a field for a ranking offset and a
scaling factor if a module is not supposed to do the final decision but to
modify the ranking for some blessed processes.
> The init could be changed to
> start the deamon,
> and then the module would start controlling it. Am I right?
It can, but it should be run from the (possibly autogenerated)
initr{d,amfs} if it's used.
> So that's why people is complaining every distro would have to update the init
> and load this new module. Correct?
ACK. (It's just me - for now)
Upgrading kernels used to be a drop-in replacement, except for ISDN and
(for 2.4 -> 2.6) v4l. I like it that way.
--
Top 100 things you don't want the sysadmin to say:
66. What do you mean you needed that directory?
Friß, Spammer: nI4m@egiefdjm.info technik@gueb.de order@upstair.com
next prev parent reply other threads:[~2005-01-20 5:01 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.lcmt90h.1j1scpn@ifi.uio.no>
[not found] ` <fa.ht4gei4.1g5odia@ifi.uio.no>
2005-01-16 16:28 ` User space out of memory approach Bodo Eggert
2005-01-18 13:15 ` Edjard Souza Mota
2005-01-19 6:18 ` Bodo Eggert
2005-01-20 3:20 ` Edjard Souza Mota
2005-01-20 5:00 ` Bodo Eggert [this message]
2005-01-10 21:43 Mauricio Lin
2005-01-10 19:20 ` Marcelo Tosatti
2005-01-10 19:39 ` Marcelo Tosatti
2005-01-10 23:01 ` Mauricio Lin
2005-01-10 22:40 ` Edjard Souza Mota
2005-01-10 20:05 ` Marcelo Tosatti
2005-01-10 23:17 ` Edjard Souza Mota
2005-01-10 23:18 ` Edjard Souza Mota
2005-01-10 23:24 ` Mauricio Lin
2005-01-10 23:30 ` Mauricio Lin
2005-01-11 7:47 ` Marcelo Tosatti
2005-01-11 0:35 ` Thomas Gleixner
2005-01-11 2:03 ` Edjard Souza Mota
2005-01-11 8:44 ` Thomas Gleixner
2005-01-11 8:58 ` Andrea Arcangeli
2005-01-11 7:48 ` Marcelo Tosatti
2005-01-11 9:08 ` Andrew Morton
2005-01-11 9:19 ` Andrea Arcangeli
2005-01-11 9:27 ` Andrew Morton
2005-01-11 9:20 ` Edjard Souza Mota
2005-01-11 9:30 ` Thomas Gleixner
2005-01-11 9:56 ` Andrea Arcangeli
2005-01-11 10:05 ` Edjard Souza Mota
2005-01-11 10:39 ` Thomas Gleixner
2005-01-11 10:44 ` Andrea Arcangeli
2005-01-11 14:56 ` Edjard Souza Mota
2005-01-11 15:27 ` Ilias Biris
2005-01-11 10:00 ` Edjard Souza Mota
2005-01-11 10:36 ` Thomas Gleixner
2005-01-11 16:32 ` Alan Cox
2005-01-11 19:16 ` Ilias Biris
2005-01-11 20:46 ` Ilias Biris
2005-01-11 20:57 ` Thomas Gleixner
2005-01-12 9:31 ` Edjard Souza Mota
2005-01-12 11:19 ` Thomas Gleixner
2005-01-12 12:12 ` Edjard Souza Mota
2005-01-13 15:36 ` Alan Cox
2005-01-16 10:06 ` Edjard Souza Mota
2005-01-16 21:10 ` Alan Cox
2005-01-17 10:16 ` Thomas Gleixner
2005-01-11 21:35 ` Denis Vlasenko
2005-01-11 20:40 ` Thomas Gleixner
2005-01-11 7:42 ` Marcelo Tosatti
2005-01-11 10:51 ` Thomas Gleixner
2005-01-11 11:03 ` Andrea Arcangeli
2005-01-11 8:38 ` Andrea Arcangeli
2005-01-21 21:27 ` Mauricio Lin
2005-01-21 21:45 ` Mauricio Lin
2005-01-22 3:32 ` Andrea Arcangeli
2005-01-25 21:13 ` Mauricio Lin
2005-01-25 21:39 ` Thomas Gleixner
2005-01-26 0:11 ` Mauricio Lin
2005-01-26 0:49 ` Andrea Arcangeli
2005-01-26 14:03 ` Mauricio Lin
2005-01-27 18:54 ` Mauricio Lin
2005-01-27 22:11 ` Andrea Arcangeli
2005-01-27 22:29 ` Andrew Morton
2005-01-27 22:58 ` Andrea Arcangeli
2005-01-27 23:35 ` Andrew Morton
2005-01-28 0:15 ` Andrea Arcangeli
2005-01-28 13:58 ` Mauricio Lin
2005-01-28 15:21 ` Mauricio Lin
2005-01-28 15:29 ` Andrea Arcangeli
2005-01-26 7:26 ` Thomas Gleixner
2005-01-22 3:04 ` Andrea Arcangeli
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=Pine.LNX.4.58.0501200437180.6801@be1.lrz \
--to=7eggert@gmx.de \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=edjard@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=xyz.biris@gmail.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).