Hi Jason... On Tue, Feb 1, 2011 at 20:23, Jason Nymble <jason.nymble@xxxxxxxxx> wrote: > The machine has 48GB of physical memory, and I reserve a chunk as a kernel > param with the memmap=nn[KMG]$ss[KMG] syntax (see > Documentation/kernel-parameters.txt), e.g. memmap=8G$4G to reserve an 8GB > chunk of mem starting at offset 4GB. Then in the driver I simply use > ioremap_cache() with the physical base offset and size I require to get a > kernel virtual address. If I do that across any 4GB physical boundary, then > access to that memory via that kernel virtual address pointer is extremely > slow. I think somehow somewhere the kernel repeatedly do kmap() / kunmap() when you do memory access...and since it's x86_64 (not true 64 bit like Itanium), it's not really 64 bit... -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies