From: Andrea Arcangeli <andrea@suse.de>
To: Dave Hansen <haveblue@us.ibm.com>
Cc: "Martin J. Bligh" <mbligh@aracnet.com>,
Wim Coekaerts <wim.coekaerts@oracle.com>,
Hugh Dickins <hugh@veritas.com>, Andrew Morton <akpm@osdl.org>,
Rik van Riel <riel@redhat.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: 2.4.23aa2 (bugfixes and important VM improvements for the high end)
Date: Thu, 18 Mar 2004 03:44:41 +0100 [thread overview]
Message-ID: <20040318024441.GH2113@dualathlon.random> (raw)
In-Reply-To: <1077959940.24528.28.camel@nighthawk>
On Sat, Feb 28, 2004 at 01:19:01AM -0800, Dave Hansen wrote:
> On Fri, 2004-02-27 at 23:05, Andrea Arcangeli wrote:
> > > I'm not sure it's that straightforward really - doing the non-pgd aligned
> > > split is messy. 2.5 might actually be much cleaner than 3.5 though, as we
> > > never updated the mappings of the PMD that's shared between user and kernel.
> > > Hmmm ... that's quite tempting.
> >
> > I read the 3.5:0.5 PAE sometime last year and it was pretty
> > strightforward too, the only single reason I didn't merge it is that
> > it had the problem that it changed common code that every archs depends
> > on, so it broke all other archs, but it's not really a matter of
> > difficult code, as worse it just needs a few liner change in every arch
> > to make them compile again. So I'm quite optimistic 2.5:1.5 will be
> > doable with a reasonably clean patch and with ~zero performance downside
> > compared to 3:1 and 2:2.
>
> The only performance problem with using PMDs which are shared between
> kernel and user PTE pages is that you have a potential to be required to
> instantiate the kernel portion of the shared PMD each time you need a
> new set of page tables. A slab for these partial PMDs is quite helpful
> in this case.
that's a bigger cost during context switch but it's still zero cost for
the syscalls, and it never flushes away the user address space
unnecessairly. So I doubt it's measurable (unlike 4:4 which is a big hit).
> The real logistical problem with partial PMDs is just making sure that
> all of the 0 ... PTRS_PER_PMD loops are correct. The last few times
> I've implemented it, I just made PTRS_PER_PMD take a PGD index, and made
> sure to start all of the loops from things like pmd_index(PAGE_OFFSET)
> instead of 0.
it is indeed tricky, though your last patch for 3.5G on PAE looked fine.
But now I would like to include the 2.5:1.5 not 3.5:0.5 ;), maybe we can
support 3.5:0.5 too at the same time (though 3.5:0.5 is secondary).
> Here are a couple of patches that allowed partial user/kernel PMDs.
> These conflicted with 4:4 and got dropped somewhere along the way, but
> the generic approaches worked. I believe they at least compiled on all
> of the arches, too.
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/mbligh/patches/2.5.68/2.5.68-mjb1/540-separate_pmd
> ftp://ftp.kernel.org/pub/linux/kernel/people/mbligh/patches/2.5.68/2.5.68-mjb1/650-banana_split
would you be willing to implement config 15GB too (2.5:1.5)? In the next
days I'm going to work on the rbtree for the objrmap (just in case
somebody wants to swap the shm with vlm instead of mlocking it), but I
would like to get this done too ;).
you see my current tree in 2.6.5-rc1-aa1 on the ftp site, but you can
use any other kernel too since the code you will touch should be the
same for all 2.6.
It's up to you, only if you are interested, thanks.
next prev parent reply other threads:[~2004-03-18 2:43 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-27 1:33 2.4.23aa2 (bugfixes and important VM improvements for the high end) 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 [this message]
[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
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=20040318024441.GH2113@dualathlon.random \
--to=andrea@suse.de \
--cc=akpm@osdl.org \
--cc=haveblue@us.ibm.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.com \
--cc=riel@redhat.com \
--cc=wim.coekaerts@oracle.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