On Thu, 17 Aug 2006 23:17:54 -0700 (PDT)
Christoph Lameter <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]