mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@redhat.com>
To: torvalds@transmeta.com
Cc: zippel@linux-m68k.org, linux-kernel@vger.kernel.org
Subject: Re: Linux-2.5.17
Date: Tue, 21 May 2002 19:17:24 -0700 (PDT)	[thread overview]
Message-ID: <20020521.191724.56166460.davem@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0205211752350.3589-100000@home.transmeta.com>

   From: Linus Torvalds <torvalds@transmeta.com>
   Date: Tue, 21 May 2002 17:54:18 -0700 (PDT)

   That's the big one, actually. The exit case we _could_ do very differently
   anyway, and there are reasons that we probably should try to.
   
   (When we exit, we could flush the TLB and at the same time do a
   "speculative" switch to the mm of the next process on the run-queue of
   this CPU, so that when we actually tear down the MM we would have no TLB
   issues at all any more).

I think deferring this to the lazy TLB end at the next task switch is
worth pursuing.

I always wanted to also explore way to speed up these pieces of code
we have which walk the page table tree to kill everything off.
Something simple like a very small bitmap in the mm_struct.  It would
work by keeping track of which areas of the address space actually
have some mappings present.  The set bits would be kept track of
pessimistically, to keep it fast and simple.

So when you add a page mapping somewhere you'd go:

	set_mapping_bit(mm, address);

Then exit_mmap() would only traverse into parts of the page
tables where mappings actually existed.

Similarly for copy_page_range when dup'ing an address space.

This stuff shows up clearly on the fork/exit/exec microbenchmark
profiles.

Like I said, keep the bitmap very small, perhaps 4 unsigned longs
at the most.

Actually, what this suggests is that we blow away the page table
flushing guts of exit_mmap() and just have this
"anihilate_address_space()" thing that is %100 arch-specific and can
be used to optimize this as much as a platform wants to.  We can even
provide a "boring" generic implementation protected by
HAVE_ARCH_ANIHILATE_ADDRESS_SPACE that basically looks like what we
have there today.  (The interface name sucks, I know, sorry, we'll
will have to come up with a nicer name :-)

  reply	other threads:[~2002-05-22  2:31 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-21  5:16 Linux-2.5.17 Linus Torvalds
2002-05-21 13:58 ` Linux-2.5.17 Roman Zippel
2002-05-21 16:06   ` Linux-2.5.17 Linus Torvalds
2002-05-21 18:36     ` Linux-2.5.17 Roman Zippel
2002-05-21 18:53       ` Linux-2.5.17 Linus Torvalds
2002-05-21 23:35         ` Linux-2.5.17 Roman Zippel
2002-05-22  0:10           ` Linux-2.5.17 Linus Torvalds
2002-05-22  0:31             ` Linux-2.5.17 Roman Zippel
2002-05-22  0:54               ` Linux-2.5.17 Linus Torvalds
2002-05-22  2:17                 ` David S. Miller [this message]
2002-05-22  2:40                   ` Linux-2.5.17 Linus Torvalds
2002-05-22  2:57                     ` Linux-2.5.17 David S. Miller
2002-05-22  3:21                       ` Linux-2.5.17 Linus Torvalds
2002-05-22  8:06                         ` Linux-2.5.17 David Lang
2002-05-22 14:14                         ` Linux-2.5.17 Dave McCracken
2002-05-22 16:10                           ` Linux-2.5.17 Linus Torvalds
2002-05-22 13:45                 ` Linux-2.5.17 Roman Zippel
2002-05-22 16:08                   ` Linux-2.5.17 Linus Torvalds
2002-05-21 15:32 ` [PATCH] 2.5.17 IDE 65 Martin Dalecki
2002-05-21 16:59   ` Linus Torvalds
2002-05-21 16:35     ` Martin Dalecki
2002-05-21 17:56       ` Linus Torvalds
2002-05-21 18:49         ` Alan Cox
2002-05-21 20:08         ` Vojtech Pavlik
2002-05-21 23:28           ` Linus Torvalds
2002-05-22  6:53             ` Martin Dalecki
2002-05-23  7:01               ` Kai Henningsen
2002-05-22  7:16 ` [PATCH] 2.5.17 IDE 66 Martin Dalecki
2002-05-22  7:19 ` [PATCH] 2.5.17 IDE 67 Martin Dalecki
2002-05-22 17:13   ` Tom Rini
2002-05-22 16:21     ` Martin Dalecki
2002-05-22 17:31       ` Tom Rini
2002-05-22 16:40         ` Martin Dalecki
2002-05-22 18:47           ` Tom Rini
2002-05-23  6:08             ` Martin Dalecki
2002-05-23 15:26               ` Tom Rini
2002-05-23 14:32                 ` Martin Dalecki
2002-05-23 15:40                   ` Tom Rini
2002-05-22  7:23 ` [PATCH] 2.5.16 IDE 68 Martin Dalecki
2002-05-22 10:48   ` Juan Quintela
2002-05-22  9:45     ` Martin Dalecki
2002-05-22 15:55   ` Linus Torvalds
2002-05-22 15:03     ` Martin Dalecki
2002-05-22  9:05 ` [PATCH] 2.5.17 /dev/ports Martin Dalecki
2002-05-22 10:42   ` Paul Mackerras
2002-05-22  9:46     ` Martin Dalecki
2002-05-22 10:54     ` David S. Miller
2002-05-22 10:13       ` Martin Dalecki
2002-05-22 11:26         ` Russell King
2002-05-22 10:40           ` Martin Dalecki
2002-05-22 11:58             ` Richard B. Johnson
2002-05-22 12:36             ` Russell King
2002-05-22 13:23               ` Alan Cox
2002-05-22 12:31                 ` Martin Dalecki
2002-05-22 12:44           ` Alan Cox
2002-05-22 12:32             ` Martin Dalecki
2002-05-22 15:05               ` Alan Cox
2002-05-22 13:05       ` Alan Cox
2002-05-22 12:38         ` Martin Dalecki
2002-05-22 15:04           ` Alan Cox
2002-05-22 13:53             ` Martin Dalecki
2002-05-22 15:03               ` Lars Marowsky-Bree
2002-05-22 15:07               ` Padraig Brady
2002-05-22 14:07                 ` Martin Dalecki
2002-05-22 15:21                   ` Dave Jones
2002-05-22 15:19               ` Dave Jones
2002-05-22 15:31               ` Alan Cox
2002-05-27  9:04               ` Pavel Machek
2002-05-22 14:54             ` Alexander Viro
2002-05-22 15:24               ` Alan Cox
2002-05-22 15:10                 ` Alexander Viro
2002-07-22 12:20                   ` Ruth Ivimey-Cook
2002-05-23  7:30               ` Rusty Russell
2002-05-23  6:44                 ` Martin Dalecki
2002-05-23  8:26                   ` Rusty Russell
2002-05-22 13:16   ` Padraig Brady
2002-05-22 12:30     ` Martin Dalecki
2002-05-22 13:50       ` Sebastian Droege
2002-05-22 13:52     ` Alan Cox
2002-05-22 13:49       ` Vojtech Pavlik
2002-05-22 12:51         ` Martin Dalecki
2002-05-22 13:56           ` Vojtech Pavlik
2002-05-22 14:58             ` Alan Cox
2002-05-22 13:49               ` Martin Dalecki
2002-05-22 14:42               ` Vojtech Pavlik
2002-05-22 13:59           ` Alexander Viro
2002-05-22 13:12             ` Martin Dalecki
2002-05-22 14:33               ` Alexander Viro
2002-05-22 13:40                 ` Martin Dalecki
2002-05-22 13:16             ` Martin Dalecki
2002-05-22 14:34               ` Alexander Viro
2002-05-22 16:31               ` James Simmons
2002-05-22 14:12             ` Vojtech Pavlik
2002-05-27  9:07             ` Pavel Machek
2002-05-22 15:00         ` Alan Cox
2002-05-22 14:43           ` Vojtech Pavlik
2002-05-22 16:28   ` Linus Torvalds
2002-05-22 17:22     ` Alan Cox
2002-05-22 16:17       ` Martin Dalecki
2002-05-22 17:30         ` Russell King
2002-05-22 16:36           ` Martin Dalecki
2002-05-22 17:36           ` Alexander Viro
2002-05-22 17:46         ` Alan Cox
2002-05-26 13:53         ` Riley Williams
2002-05-26 15:28           ` Vojtech Pavlik
2002-05-26 15:39             ` Riley Williams
2002-05-23 10:10     ` Martin Diehl
2002-05-22 10:54 ` Linux-2.5.17 Martin Dalecki
2002-05-22 12:04   ` Linux-2.5.17 Alexander Viro
2002-05-22 13:07     ` Linux-2.5.17 Martin Dalecki
2002-05-22 14:38       ` Linux-2.5.17 Alexander Viro
2002-05-22 13:42         ` Linux-2.5.17 Martin Dalecki
2002-05-22 16:55       ` Linux-2.5.17 Jan Kara
2002-05-22 12:14   ` Linux-2.5.17 Russell King
2002-05-22 12:36     ` Linux-2.5.17 Martin Dalecki
2002-05-22 16:02     ` Linux-2.5.17 Linus Torvalds
2002-05-22 15:04       ` Linux-2.5.17 Martin Dalecki
2002-05-22 16:58         ` Linux-2.5.17 Jan Kara
2002-05-22 16:08           ` Linux-2.5.17 Martin Dalecki
2002-05-22 17:56             ` Linux-2.5.17 Jan Kara
2002-05-22 16:56               ` Linux-2.5.17 Martin Dalecki
2002-05-22 18:17                 ` Linux-2.5.17 Jan Kara
2002-05-22 18:36                   ` Linux-2.5.17 Russell King
2002-05-22 13:06   ` Linux-2.5.17 Alan Cox
2002-05-22 11:19 ` Linux-2.5.17 Russell King
2002-05-22 11:27   ` Linux-2.5.17 David S. Miller
2002-05-22 16:23   ` Linux-2.5.17 Linus Torvalds
2002-05-22 17:31 ` [PATCH] 2.5.17 IDE 69 Martin Dalecki
2002-05-23  7:32 ` [PATCH] 2.5.17 sysvipc (AKA: spoiling oil in to the flames) Martin Dalecki
2002-05-24 13:59 ` Linux-2.5.17 Martin Dalecki
2002-05-24 14:23 ` [PATCH] 2.5.17 IDE 70 Martin Dalecki
2002-05-21 18:52 Linux-2.5.17 Wayne.Brown
2002-05-21 21:30 ` Linux-2.5.17 David S. Miller
2002-05-22  7:36   ` Linux-2.5.17 Helge Hafting
2002-05-21 23:20 Linux-2.5.17 Wayne.Brown
2002-05-21 23:29 ` Linux-2.5.17 Russell King
2002-05-21 23:33 ` Linux-2.5.17 Joel Jaeggli
2002-05-22  3:02 Linux-2.5.17 Wayne.Brown
2002-05-22  7:12 ` Linux-2.5.17 Zwane Mwaikambo
2002-05-22 11:49 ` Linux-2.5.17 Nick Holloway
2002-05-22 20:00 Linux-2.5.17 Wayne.Brown
2002-05-23 12:17 ` Linux-2.5.17 Nick Holloway

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=20020521.191724.56166460.davem@redhat.com \
    --to=davem@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    --cc=zippel@linux-m68k.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

all inboxes | Powered by JetHome®