On Thu, Nov 09, 2006 at 05:34:30PM +0800, gniuxiao wrote:
> So we have to use kmap() to map high memory to kernel address???
Several reasons:
o on i386 kernel address space is limited to just 1GB of which most that
is on the order of 970MB is used for mapping lowmem. The remainder is
used for ioremap'ed memory, vmalloc'ed memory, highmem mappings and
fixmap mappings, so there really on is very little address space.
o highmem mappings are assumed to be very shortlived so at any time there
will only be a small number of mappings active.
o The algorithm to allocate a virtual address for a non-atomic kmap is
somewhat simpleminded with O(n) worst case where n is the max. number
of mappable pages and will be the slower the more pages are actually
mapped.
Ralf
-
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]