public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jakob Østergaard <jakob@unthought.net>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Linux 2.4.2 fails to merge mmap areas, 700% slowdown.
Date: Sat, 24 Mar 2001 10:31:55 +0100	[thread overview]
Message-ID: <20010324103155.A9686@unthought.net> (raw)
In-Reply-To: <Pine.LNX.4.31.0103201042360.1990-100000@penguin.transmeta.com> <vbaelvp3bos.fsf@mozart.stat.wisc.edu> <20010322193549.D6690@unthought.net> <vbawv9hyuj0.fsf@mozart.stat.wisc.edu> <99h9p6$2j9$1@penguin.transmeta.com>
In-Reply-To: <99h9p6$2j9$1@penguin.transmeta.com>; from torvalds@transmeta.com on Fri, Mar 23, 2001 at 09:02:30PM -0800

On Fri, Mar 23, 2001 at 09:02:30PM -0800, Linus Torvalds wrote:
> In article <vbawv9hyuj0.fsf@mozart.stat.wisc.edu>,
> Kevin Buhr <buhr@stat.wisc.edu> wrote:
> >
> >The results speak for themselves:
> >
> >    CVS gcc 3.0:          Debian gcc 2.95.3:   RedHat gcc 2.96:
> >                      
> >    real    16m8.423s     real    8m2.417s     real    12m24.939s
> >    user    15m23.710s    user    7m22.200s    user    10m14.420s
> >    sys     0m48.730s     sys     0m41.040s    sys     2m13.910s 
> >maps:    <250 lines           <250 lines          >3000 lines
> >
> >Obviously, the *real* problem is RedHat GCC 2.96.  If Linus bothers to
> >write this patch (he probably already has),
> 
> Check out 2.4.3-pre7, I'd be interested to hear what the system time is
> for that one.

I was unable to compile gcc-3.0 from CVS this morning - so no tests there
for now...

First the "small" test case:
-----------------------------
2.4.2:
  gcc-2.96:  -O6 -felide-constructors -fPIC
  real    7m31.748s
  user    3m52.340s
  sys     3m38.180s
  Memory consumption:  ~200MB

2.4.3-pre7:
  gcc-2.96:  -O6 -felide-constructors -fPIC
  real    3m52.347s
  user    3m46.120s
  sys     0m3.370s

That's pretty darn impressive Linus !  3m38 -> 3sec !  Now if the GCC people
could only repeat that trick   ;)


Then the bigger one:
-----------------------------
2.4.2:
  gcc-2.96:  -O6 -felide-constructors -fPIC
  Fails compilation with "Virtual memory exhausted!" after
  real    37m28.305s
  user    23m39.930s
  sys     13m44.900s
  Memory consumption:  ~300MB before failure

Note - there are no ulimits set, and the machine has more than enough memory

2.4.3-pre7:
  gcc-2.96:  -O6 -felide-constructors -fPIC
  real    31m48.898s
  user    31m21.460s
  sys     0m26.980s
  Memory consumption:  ~400MB - successful completion

Cool !  I can work again   ;)
 
> 
> It does seem like gcc-2.96 is kind of special, but considering how easy
> it is to merge anonymous memory (most of the changes were cosmetic ones
> to get nice ordering to make the merge trivial without having to
> allocate a vma that never gets used etc), it's certainly worth doing.

Beautiful !

Also, the speedup gained here is ~70 times, which may be more than the changed
allocation in gcc-3 will buy us (was that 32 times?).  And,  after all,  there
_has_ to be some other case out there which is not as easily fixed as the GCC
one.

> 		Linus

-- 
................................................................
:   jakob@unthought.net   : And I see the elder races,         :
:.........................: putrid forms of man                :
:   Jakob Østergaard      : See him rise and claim the earth,  :
:        OZ9ABN           : his downfall is at hand.           :
:.........................:............{Konkhra}...............:

  reply	other threads:[~2001-03-24  9:32 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-20 18:28 Linux 2.4.2 fails to merge mmap areas, 700% slowdown Serge Orlov
2001-03-20 18:43 ` Linus Torvalds
2001-03-20 18:59   ` Jakob Østergaard
2001-03-21  1:20   ` Kevin Buhr
2001-03-21  1:38     ` David S. Miller
2001-03-21 20:19       ` Kevin Buhr
2001-03-22 18:23         ` Kevin Buhr
2001-03-22 18:35           ` Jakob Østergaard
2001-03-23  4:32             ` Kevin Buhr
2001-03-24  4:11               ` Zack Weinberg
2001-03-24 21:46                 ` Kevin Buhr
2001-03-24  5:02               ` Linus Torvalds
2001-03-24  9:31                 ` Jakob Østergaard [this message]
2001-03-24  9:48               ` Jakob Østergaard
2001-03-24 19:54                 ` Kevin Buhr
2001-03-25  3:17                   ` Jakob Østergaard
2001-03-25 16:47                     ` Jamie Lokier
     [not found]               ` <200103240502.VAA02673@penguin.transmeta.com>
2001-03-24 21:22                 ` Kevin Buhr
2001-03-25  3:37                   ` Linus Torvalds
2001-03-26  4:22                     ` Kevin Buhr
2001-03-23 20:43             ` James Lewis Nance
2001-03-21  6:41     ` Mike Galbraith
2001-03-21 14:56       ` Matthias Urlichs
2001-03-21 15:05         ` Mike Galbraith
2001-03-21 15:59       ` Kurt Garloff
2001-03-21 16:45         ` Mike Galbraith
2001-03-21 20:16           ` Kevin Buhr
2001-03-22  9:04             ` Mike Galbraith
2001-03-22 22:19               ` Kevin Buhr
2001-03-23  7:44                 ` Mike Galbraith
2001-03-23 21:36                   ` 2.4.2-ac20 patch for process time double-counting (was: Linux 2.4.2 fails to merge mmap areas, 700% slowdown.) Kevin Buhr
2001-03-24  7:49                     ` Mike Galbraith
2001-03-24 19:27                       ` Kevin Buhr
2001-03-20 18:43 ` Linux 2.4.2 fails to merge mmap areas, 700% slowdown Jakob Østergaard
  -- strict thread matches above, loose matches on Subject: below --
2001-03-21  2:02 Dieter Nützel

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=20010324103155.A9686@unthought.net \
    --to=jakob@unthought.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.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