[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <49AF135A.4060604@goop.org>
Date: Wed, 04 Mar 2009 15:48:42 -0800
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: Jiri Slaby <jirislaby@...il.com>
CC: Tejun Heo <htejun@...il.com>, Ingo Molnar <mingo@...e.hu>,
the arch/x86 maintainers <x86@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Vegard Nossum <vegard.nossum@...il.com>
Subject: Re: __virt_addr_valid vs virtual percpu areas
Jiri Slaby wrote:
> It's not (in the meaning of virt_* functions), but while booting we
> don't have variables used in VMALLOC_START and VMALLOC_END ready for
> use on i386.
>
> Maybe we can introduce more clever method/state which would say: hey,
> vmalloc framework is up and running. And use instead (system_state !=
> SYSTEM_BOOTING) hack.
Yeah, I pieced that together. I'm just testing a patch with a specific
__vmalloc_start_set flag to test.
>> This is biting me because I need to translate percpu addresses
>> to pfns, but I only bother doing the full pagetable walk if
>> virt_addr_valid() is false (otherwise I just use __pa()).
>
> Do you need to bother also with vmalloc space?
percpu data gets mapped into the vmalloc region now (when using 4k page
mappings, at least).
>> Removing this test doesn't seem to harm anything at first glance. Is
>> this OK to do in general (and can we quietly set fire to system_state
>> while we're about it)?
>
> I wouldn't do that, since vmalloc addr is not virt addr, again in the
> meaning of virt_* functions. And the function wouldn't do the right
> thing, at least in the RUNNING state anymore.
OK.
J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists