linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Jean Francois Martinez <jfm2@club-internet.fr>
To: linux-mm@kvack.org
Subject: Time to do something about those loading times
Date: 15 Aug 2002 10:11:02 +0200	[thread overview]
Message-ID: <1029399063.1641.65.camel@agnes.fremen.dune> (raw)

Presently one of the things who are hindering Linux progress on the
desktop is that the loading times are far higher than on Windows.  This
gives the impression it is slow.

Some of the following issues are filesystem related

1) No preloading.  In addition to preloading some crucial libraries or
parts of libraries (who could be discarded when needed) I wish to submit
the following idea inspired by MVS: preload crucial libraries into a
special swap at boot time.  The benefit is that loading from swap is
faster and that in addition they are unfragmented and tightly packed
together with their relatives: ie if some important program needs libA
and libB and you preload them then libA and libB will be immediate
neighbours instead of being at oppsoite ends of filesystem


2) What happens when a code page is discarded?  As I understand it it is
just discarded and that means next time we will have to look it again
into the filesystem (and remember that two pages from two different
libraries will be very far from one another).  Wouldn't it be better to
copy into swap so next time it will be fetched faster?  The preceeding
assumes that there is a way to keep swap not overly fragmented.

3) There is no concept of file affinity in Linux.  While the filesystems
do a quite good job of keeping files unfragmented the fact is that there
is no way to tell it that such and such file form a whole and should be
kept together.  End result uis that two libraries who are usually loaded
together end at opposite ends of filesystem.  There should be a system
call for the Linux installers to tell the kernel "from now all the files
I create are affine" and "from now you have a free rein" .

4) It looks like developers build libraries in a haphazard way. 
Reorganizing so the most used routines are close to the beginning (and
close to each other) would probably provide a sizable improvement in
loading times.   For that we need a tool able to collect statistics. 
But I am not sure it would be feasible for the distribution vendor doing
the reorg or if it would be better to have it done at individual boxes. 

5) While the ELF format could be developer friendly it also seems to
require far more overhead than the DLL (or the old a.out) format.   I
wonder if shifting to ELF was not a case of wanting to ape "real Unixes"
even when they had shot themselves in the foot. 

  
 			JFM



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

             reply	other threads:[~2002-08-15  8:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-15  8:11 Jean Francois Martinez [this message]
2002-08-15  8:43 ` Jean Francois Martinez
2002-08-29 18:07 ` Daniel Phillips
2002-09-01 18:28 ` Ingo Oeser

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=1029399063.1641.65.camel@agnes.fremen.dune \
    --to=jfm2@club-internet.fr \
    --cc=linux-mm@kvack.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