public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Zachary Amsden <zach@vmware.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	"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:49:56 -0700	[thread overview]
Message-ID: <489B8A24.3060301@goop.org> (raw)
In-Reply-To: <1218151571.20178.384.camel@bodhitayantram.eng.vmware.com>

Zachary Amsden wrote:
> 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!
>   

fixmap.ko, except backwards?

That said, isn't this exactly what the immediate values stuff is 
supposed to be able to do?

    J

  reply	other threads:[~2008-08-07 23:50 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-07 19:12 [PATCH]Fix broken VMI in 2.6.27-rc 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
2008-08-07 23:49                       ` Jeremy Fitzhardinge [this message]
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=489B8A24.3060301@goop.org \
    --to=jeremy@goop.org \
    --cc=akataria@vmware.com \
    --cc=hpa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    --cc=zach@vmware.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