[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48764840.6010607@linux-foundation.org>
Date: Thu, 10 Jul 2008 12:34:56 -0500
From: Christoph Lameter <cl@...ux-foundation.org>
To: Jeremy Fitzhardinge <jeremy@...p.org>
CC: Mike Travis <travis@....com>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
"H. Peter Anvin" <hpa@...or.com>,
Arjan van de Ven <arjan@...radead.org>,
Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>,
Jack Steiner <steiner@....com>, linux-kernel@...r.kernel.org,
Rusty Russell <rusty@...tcorp.com.au>
Subject: Re: [RFC 00/15] x86_64: Optimize percpu accesses
Jeremy Fitzhardinge wrote:
> Christoph Lameter wrote:
>> Jeremy Fitzhardinge wrote:
>>
>>
>>> You want to virtually map the percpu area? How and when would it get
>>> extended?
>>>
>>
>> It would get extended when cpu_alloc() is called and the allocator
>> finds that there is no per cpu memory available.
>>
>
> Which, I take it, allocates percpu memory. It would have the same
> caveats as vmalloc memory, with respect to accessing it during fault
> handlers and nmi handlers, I take it.
Right. One would not want to allocate per cpu memory in those contexts. The current allocpercpu() functions already have those restrictions.
> How would cpu_alloc() actually get used? It doesn't make much sense for
> general code, since we don't have the notion of a percpu pointer to
> memory (vs a pointer to percpu memory). Is the intended use for
> allocating percpu memory in modules? What other uses?
Argh. Do I have to reexplain all of this all over again? Please look at the latest cpu_alloc patchset and the related discussions.
The cpu_alloc patchset introduces the concept of a pointer to percpu memory. Or you could call it an offset into the percpu segment that can be treated (in a restricted way) like a pointer....
--
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