From: Zachary Amsden <zach@vmware.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
Jeremy Fitzhardinge <jeremy@goop.org>
Cc: "H. Peter Anvin" <hpa@kernel.org>,
Alok Kataria <akataria@vmware.com>, Ingo Molnar <mingo@elte.hu>,
the arch/x86 maintainers <x86@kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH]Fix broken VMI in 2.6.27-rc..
Date: Thu, 07 Aug 2008 16:26:11 -0700 [thread overview]
Message-ID: <1218151571.20178.384.camel@bodhitayantram.eng.vmware.com> (raw)
In-Reply-To: <alpine.LFD.1.10.0808071603330.3462@nehalem.linux-foundation.org>
On Thu, 2008-08-07 at 16:08 -0700, Linus Torvalds wrote:
>
> On Thu, 7 Aug 2008, H. Peter Anvin wrote:
> >
> > Just moving it down by 4 MB doesn't help, since the VMI guys want as much as
> > 64 MB, which is half the standard vmalloc area and hence too much address
> > space lost. We can't put it at the bottom of the vmalloc area, since that
> > boundary is not fixed, either.
>
> Yeah, ok. Since this is a 32-bit only issue, 64MB is actually a fair chunk
> of our already limited virtual space.
>
> > The one remaining fixed boundary in the machine is the kernel-userspace
> > boundary. Hence moving the 1:1 area up by one PDE unit and sticking the
> > fixmap area in that region.
>
> Yeah, ok, but I'd be more nervous about the validation issues there. There
> might be a lot of code that assumes that TASK_SIZE is the start of the 1:1
> area. It does sound like a good approach, it just makes me worry about the
> test coverage.
Well, here's an idea from outer space. The fixmap can't possibly be
used until it's got a backing page table and initial mappings installed.
One can imagine a world where references to the fixmap are left as
unresolved, and then those unresolved symbols are linked to the fixmap
area when it gets set up in the kernel page table. Voilla!
The requisite foodling required to massage various gcci and lds into
compliance with this scheme, not to mention the required module loading
changes might be a bit of headache, and even then, I'm not sure that gcc
will be smart enough to allow all the required relocations to generate
optimal code.
But the upshot would be the potential for dynamic registration of fixmap
areas, yet still keeping direct pointers into the thing, and also
removing all the ifdefs from the fixmap definitions for the various
platform specific fixmap pages. Just leave dangling references to some
fixed bad address (fixmap_hole) for things unused. And even allow
kernel modules to register new fixmap types!
All it requires is a well thought out strategy for naming fixmap pages
and then two sprinkles of linker magic. You could even randomize the
non-randomized VDSO location at boot-time. Whee!
Zach
next prev parent reply other threads:[~2008-08-07 23:27 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-07 19:12 Alok Kataria
2008-08-07 21:20 ` H. Peter Anvin
2008-08-07 21:27 ` Zachary Amsden
2008-08-07 21:34 ` H. Peter Anvin
2008-08-07 21:42 ` Zachary Amsden
2008-08-07 21:52 ` H. Peter Anvin
2008-08-07 21:55 ` Zachary Amsden
2008-08-07 22:17 ` H. Peter Anvin
2008-08-07 22:38 ` Linus Torvalds
2008-08-07 22:58 ` H. Peter Anvin
2008-08-07 23:08 ` Linus Torvalds
2008-08-07 23:12 ` H. Peter Anvin
2008-08-07 23:26 ` Zachary Amsden [this message]
2008-08-07 23:49 ` Jeremy Fitzhardinge
2008-08-07 23:23 ` Jeremy Fitzhardinge
2008-08-08 19:15 ` Alok Kataria
2008-08-08 22:23 ` H. Peter Anvin
2008-08-07 23:21 ` Jeremy Fitzhardinge
2008-08-07 23:27 ` H. Peter Anvin
2008-08-07 23:46 ` Jeremy Fitzhardinge
2008-08-07 23:51 ` H. Peter Anvin
2008-08-08 0:01 ` Yinghai Lu
2008-08-08 0:11 ` H. Peter Anvin
2008-08-08 0:10 ` Jeremy Fitzhardinge
2008-08-08 0:13 ` H. Peter Anvin
2008-08-08 0:23 ` Jeremy Fitzhardinge
2008-08-08 0:29 ` H. Peter Anvin
2008-08-08 6:10 ` Jeremy Fitzhardinge
2008-08-08 16:13 ` H. Peter Anvin
2008-08-08 1:14 ` Zachary Amsden
2008-08-08 1:19 ` H. Peter Anvin
2008-08-08 1:28 ` Zachary Amsden
2008-08-07 21:41 ` Alok Kataria
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=1218151571.20178.384.camel@bodhitayantram.eng.vmware.com \
--to=zach@vmware.com \
--cc=akataria@vmware.com \
--cc=hpa@kernel.org \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.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®