Why is AHCI built-in?

Kyle McMartin kyle at redhat.com
Wed Aug 28 14:57:40 UTC 2013


On Wed, Aug 28, 2013 at 12:46:31AM +0200, poma wrote:
> Any links/docs to offer on this topic?
> Thanks.
> 

I don't have a link off-hand, but a book about computer architecture
should let you figure things out:

At what level of detail? The kernel attempts to map itself using
2MB pages on X86 where possible (since it's large and contiguous.)

For various reasons, modules are mapped using 4K pages since they'd need
to be padded out to 2MB (very little module .text would be that big, and
obviously code and data are mapped separately for protection reasons.)
Also, separate modules need to be on separate pages in order to ensure
that you can remove them independently.

So the more modules you have loaded, the more likely useful TLB
(translation lookaside buffer, which caches virtual to physical
mappings) from userspace will get pushed out by the kernel on a system
call or interrupt.

regards, Kyle


More information about the devel mailing list