--- Aboo Valappil <aboo@xxxxxxxxxxxxxxx> wrote: > > > > > Are there any kernel pointers in memory at > fixed known locations > > > which are not mapped to any process PTEs? > > > > They have to be mapped in order to be accessible. > There must > > be a PTE because Linux uses paging as the > fundamental basis > > for its virtual memory implementation - although > on other > > architectures, such as those "substantially > conforming to the > > PowerPC Architectural Specification" > > (blah blah blah blah) there are mapping registers > which are > > called BATs or whatever is the name for a > particular > > processor family. These allow single large > mappings to take > > place mapping 896MB or whatever of physical RAM at > the > > PAGE_OFFSET in kernel virtual memory. Some > architectures with > > variable sized PTEs use just one or two large > mappings for > > the kernel. This covers Intel (doesn't it? any > Intel weenie > > want to talk about that? ;-) ) and certain > embedded > > processors such as the IBM 40x series. > > > > My understanding is that the Linux uses 4MB pages on > intel ( not 4K ) > when mapping physical memory above PAGE_OFFSET. But > vmalloc() uses 4K > pages. As per my knowledge the default page size is 4K . Do you mean to say the ZONE_NORMAL pages are of 4MB size ? I'am aware that kmalloc() should be used for smaller sizes , but would it not be a huge waste & be a cause of internal fragmentation if vmalloc() were to allocate 4MB pages ? Could somebody please confirm . Cheers _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/