mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: Andrea Arcangeli <andrea@suse.de>
Cc: peter@mysql.com, riel@redhat.com, mbligh@aracnet.com,
	linux-kernel@vger.kernel.org
Subject: Re: 2.4.23aa2 (bugfixes and important VM improvements for the high end)
Date: Wed, 3 Mar 2004 21:10:42 -0800	[thread overview]
Message-ID: <20040303211042.33cd15ce.akpm@osdl.org> (raw)
In-Reply-To: <20040304045212.GG4922@dualathlon.random>

Andrea Arcangeli <andrea@suse.de> wrote:
>
> On Wed, Mar 03, 2004 at 08:07:04PM -0800, Andrew Morton wrote:
>  > That's a larger difference than I expected.  But then, everyone has been
> 
>  mysql is threaded

There is a patch in -mm's 4g/4g implementation
(4g4g-locked-userspace-copy.patch) which causes all kernel<->userspace
copies to happen under page_table_lock.  In some threaded apps on SMP this
is likely to cause utterly foul performance.

That's why I'm keeping it as a separate patch.  The problem which it fixes
is very obscure indeed and I suspect most implementors will simply drop it
after they'e had a two-second peek at the profile results.

hm, I note that the changelog in that patch is junk.  I'll fix that up.

Something like:

  The current 4g/4g implementation does not guarantee the atomicity of
  mprotect() on SMP machines.  If one CPU is in the middle of a read() into
  a user memory region and another CPU is in the middle of an
  mprotect(!PROT_READ) of that region, it is possible for a race to occur
  which will result in that read successfully completing _after_ the other
  CPU's mprotect() call has returned.

  We believe that this could cause misbehaviour of such things as the
  boehm garbage collector.  This patch provides the mprotect() atomicity by
  performing all userspace copies under page_table_lock.


It is a judgement call.  Personally, I wouldn't ship a production kernel
with this patch.  People need to be aware of the tradeoff and to think and
test very carefully.


  reply	other threads:[~2004-03-04  5:10 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-27  1:33 Andrea Arcangeli
2004-02-27  4:38 ` Rik van Riel
2004-02-27 17:32   ` Andrea Arcangeli
2004-02-27 19:08     ` Rik van Riel
2004-02-27 20:29       ` Andrew Morton
2004-02-27 20:49         ` Rik van Riel
2004-02-27 20:55           ` Andrew Morton
2004-02-27 21:28           ` Andrea Arcangeli
2004-02-27 21:37             ` Andrea Arcangeli
2004-02-28  3:22             ` Andrea Arcangeli
2004-03-01 11:10           ` Nikita Danilov
2004-02-27 21:15         ` Andrea Arcangeli
2004-02-27 22:03           ` Martin J. Bligh
2004-02-27 22:23             ` Andrew Morton
2004-02-28  2:32             ` Andrea Arcangeli
2004-02-28  4:57               ` Wim Coekaerts
2004-02-28  6:18                 ` Andrea Arcangeli
2004-02-28  6:45                   ` Martin J. Bligh
2004-02-28  7:05                     ` Andrea Arcangeli
2004-02-28  9:19                       ` Dave Hansen
2004-03-18  2:44                         ` Andrea Arcangeli
     [not found]                   ` <20040228061838.GO8834@dualathlon.random.suse.lists.linux.kernel>
2004-02-28 12:46                     ` Andi Kleen
2004-02-29  1:39                       ` Andrea Arcangeli
2004-02-29  2:29                         ` Andi Kleen
2004-02-29 16:34                           ` Andrea Arcangeli
2004-02-28  6:10               ` Martin J. Bligh
2004-02-28  6:43                 ` Andrea Arcangeli
2004-02-28  7:00                   ` Martin J. Bligh
2004-02-28  7:29                     ` Andrea Arcangeli
2004-02-28 14:55                       ` Rik van Riel
2004-02-28 15:06                         ` Arjan van de Ven
2004-02-29  1:43                         ` Andrea Arcangeli
     [not found]                           ` < 1078370073.3403.759.camel@abyss.local>
2004-03-04  3:14                           ` Peter Zaitsev
2004-03-04  3:33                             ` Andrew Morton
2004-03-04  3:44                               ` Peter Zaitsev
2004-03-04  4:07                                 ` Andrew Morton
2004-03-04  4:44                                   ` Peter Zaitsev
2004-03-04  4:52                                   ` Andrea Arcangeli
2004-03-04  5:10                                     ` Andrew Morton [this message]
2004-03-04  5:27                                       ` Andrea Arcangeli
2004-03-04  5:38                                         ` Andrew Morton
2004-03-05 20:19                                       ` Jamie Lokier
2004-03-05 20:33                                         ` Andrea Arcangeli
2004-03-05 21:44                                           ` Jamie Lokier
2004-03-04 12:12                                     ` Rik van Riel
2004-03-04 16:21                                     ` Peter Zaitsev
2004-03-04 18:13                                       ` Andrea Arcangeli
2004-03-04 17:35                                   ` Martin J. Bligh
2004-03-04 18:16                                     ` Andrea Arcangeli
2004-03-04 19:31                                       ` Martin J. Bligh
2004-03-04 20:21                                     ` Peter Zaitsev
2004-03-05 10:33                                 ` Ingo Molnar
2004-03-05 14:15                                   ` Andrea Arcangeli
2004-03-05 14:32                                     ` Ingo Molnar
2004-03-05 14:58                                       ` Andrea Arcangeli
2004-03-05 15:26                                         ` Ingo Molnar
2004-03-05 15:53                                           ` Andrea Arcangeli
2004-03-07  8:41                                             ` Ingo Molnar
2004-03-07 10:29                                               ` Nick Piggin
2004-03-07 17:33                                                 ` Andrea Arcangeli
2004-03-08  5:15                                                   ` Nick Piggin
2004-03-07 17:24                                               ` Andrea Arcangeli
2004-03-05 21:28                                           ` Martin J. Bligh
2004-03-05 18:42                                         ` Martin J. Bligh
2004-03-05 19:13                                           ` Andrea Arcangeli
2004-03-05 19:55                                             ` Martin J. Bligh
2004-03-05 20:29                                               ` Andrea Arcangeli
2004-03-05 20:41                                                 ` Andrew Morton
2004-03-05 21:07                                                   ` Andrea Arcangeli
2004-03-05 22:12                                                     ` Andrew Morton
2004-03-05 14:34                                     ` Ingo Molnar
2004-03-05 14:59                                       ` Andrea Arcangeli
2004-03-05 15:02                                         ` Ingo Molnar
     [not found]                                           ` <20040305150225.GA13237@elte.hu.suse.lists.linux.kernel>
2004-03-05 15:51                                             ` Andi Kleen
2004-03-05 16:23                                               ` Ingo Molnar
2004-03-05 16:39                                                 ` Andrea Arcangeli
2004-03-07  8:16                                                   ` Ingo Molnar
2004-03-10 13:21                                                 ` Andi Kleen
2004-03-05 16:42                                                   ` Andrea Arcangeli
2004-03-05 16:49                                                   ` Ingo Molnar
2004-03-05 16:58                                                     ` Andrea Arcangeli
2004-03-05 20:11                                           ` Jamie Lokier
2004-03-06  5:12                                             ` Jamie Lokier
2004-03-06 12:56                                               ` Magnus Naeslund(t)
2004-03-06 13:13                                                 ` Magnus Naeslund(t)
2004-03-07 11:55                                             ` Ingo Molnar
2004-03-07  6:50                                           ` Peter Zaitsev
2004-03-02  9:10                 ` Kurt Garloff
2004-03-02 15:32                   ` Martin J. Bligh
2004-02-27 21:42         ` Hugh Dickins
2004-02-27 23:18         ` Marcelo Tosatti
2004-02-27 22:39           ` Andrew Morton
2004-02-27 20:31       ` Andrea Arcangeli
2004-02-29  6:34       ` Mike Fedyk
     [not found] <20040304175821.GO4922@dualathlon.random>
2004-03-04 22:14 ` Rik van Riel
2004-03-04 23:24   ` Andrea Arcangeli
2004-03-05  3:43     ` Rik van Riel
     [not found] <1u7eQ-6Bz-1@gated-at.bofh.it>
     [not found] ` <1ue6M-45w-11@gated-at.bofh.it>
     [not found]   ` <1uofN-4Rh-25@gated-at.bofh.it>
     [not found]     ` <1vRz3-5p2-11@gated-at.bofh.it>
     [not found]       ` <1vRSn-5Fc-11@gated-at.bofh.it>
     [not found]         ` <1vS26-5On-21@gated-at.bofh.it>
     [not found]           ` <1wkUr-3QW-11@gated-at.bofh.it>
     [not found]             ` <1wolx-7ET-31@gated-at.bofh.it>
     [not found]               ` <1woEM-7Yx-41@gated-at.bofh.it>
     [not found]                 ` <1wp8b-7x-3@gated-at.bofh.it>
     [not found]                   ` <1wp8l-7x-25@gated-at.bofh.it>
     [not found]                     ` <1x0qG-Dr-3@gated-at.bofh.it>
2004-03-12 21:15                       ` Andi Kleen
2004-03-18 19:50                         ` Peter Zaitsev
     [not found]               ` <1woEJ-7Yx-25@gated-at.bofh.it>
     [not found]                 ` <1wp8c-7x-5@gated-at.bofh.it>
     [not found]                   ` <1wprd-qI-21@gated-at.bofh.it>
     [not found]                     ` <1wpUz-Tw-21@gated-at.bofh.it>
     [not found]                       ` <1x293-2nT-7@gated-at.bofh.it>
2004-03-12 21:25                         ` Andi Kleen

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=20040303211042.33cd15ce.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@aracnet.com \
    --cc=peter@mysql.com \
    --cc=riel@redhat.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

all inboxes | Powered by JetHome®