lkml.org 
[lkml]   [2006]   [Aug]   [18]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 18 Aug 2006 16:17:39 +0900
FromKAMEZAWA Hiroyuki <>
SubjectRe: [MODSLAB 3/7] A Kmalloc subsystem
On Thu, 17 Aug 2006 23:17:54 -0700 (PDT)
Christoph Lameter <clameter@sgi.com> wrote:
>
> So we only have a single lookup of vmem_map from memory in order to 
> calculate the address of struct page. The cacheline for vmem_map is 
> heavily used and certainly in memory. virt_to_page seems to be a very 
> efficient means to get to struct page. The problem scope may simply be
> to minimize the cachelines touched during free and alloc.

Just a note: with SPARSEMEM, we need more calculation and access to
mem_section[] table and page structs(mem_map).

> vmalloc_to_addr is certainly slower due to the page table walking. But the 
> user already is aware of the fact that vmalloc memory is not as fast as
> direct mapped.
Hmm.

I wonder....
==
vmalloc() area is backed-up by VHPT(16Kb page size). And direct-mapped-area
is backed-up by software-tlb-miss-handler (16MB/64MB page size)
If TLB misses frequently, prefetch will work well in virtually-mapped area
(region5) rather direct-mapped-area (region 7) because of hardware assist
of 'VHPT walker'. (just I think. I have no data)

Considering some code walking through a list of objects scattered over all memory,
Is virtually-mapped area really slow ?

-Kame

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-08-18 09:17    [from the cache]
©2003-2008