On Sun, Jun 28, 2009 at 6:42 PM, Sean P. Dew <freebsd.work_at_gmail.com> wrote: > Hi, > > Why is a loadable segment aligned to 1 MB on AMD64 while the pagezie is > still 4K for a user application. Is there anyway to change it back to 4K, > It > is not making sense to me is because if my file segment is around 400K, we > are wasting 1 MB of virtual address space ( granted it is not a lot for > X64). I am trying to find out the reason. I am posting the readelf output > of a .so. Any help is appreciated. > You'll find this question discussed in the mailing list archives on more than one occasion. Here is one such message: http://lists.freebsd.org/pipermail/freebsd-amd64/2007-September/010260.html To be a little more explicit, it is done to increase the likelihood that the entire code segment of a large program can be mapped using 2 MB page mappings. Moreover, to be able to do so without wasting any physical memory on padding. Although we have the necessary 2 MB page support in the virtual memory system, the kernel's image activator hasn't been modified to take advantage of this. Only a few programs with large code and data segments, e.g., emacs, will benefit. Regards, AlanReceived on Sun Jun 28 2009 - 23:05:11 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:50 UTC