This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Change x86-64 maximum page size to 2MB


On Thu, May 25, 2006 at 08:03:25PM -0700, H. J. Lu wrote:
> On Thu, May 25, 2006 at 10:43:03PM -0400, Daniel Jacobowitz wrote:
> > On Thu, May 25, 2006 at 04:10:19PM -0700, H. J. Lu wrote:
> > > On Fri, May 19, 2006 at 10:12:01AM +0100, Nick Clifton wrote:
> > > > Hi H. J.
> > > > 
> > > > >The current x86-64 maximum page size is 1MB. With the future
> > > > >development, 2MB is better for performance. Using 2MB won't break
> > > > >anything, except for up to 2MB gap in virtual address space per file,
> > > > >instead of 1MB. x86-64 has 48 bits in virtual address space. It
> > > > >shouldn't be an issue for most applications. I have a patch:
> > > > >
> > > > >http://sourceware.org/ml/binutils/2005-05/msg00644.html
> > > > >
> > > > >which can be used to implement "-z max-page-size=xxxx" so that people
> > > > >can control maximum page size at the link time if they prefer different
> > > > >maximum page size.
> > > > 
> > > > This seems to be perfectly reasonable.
> > > 
> > > I tested this patch on gcc, glibc, 2.4 and 2.6 kernels. I will check
> > > it in shortly.
> > 
> > If you do this without setting ELF_MINPAGESIZE, won't BFD start to
> > reject some files?
> > 
> > It doesn't happen obviously, they'll just get corrupted on objcopy;
> > see the one use of ->minpagesize.
> > 
> 
> Thanks. I am checking in this patch. I will add a testcase once we can
> use a different maximum page size.
> 
> 

Linux/x86-64 supports 4K page size. I am changing ELF_MINPAGESIZE to
4K.


H.J.
2006-05-26  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000.

--- bfd/elf64-x86-64.c.4k	2006-05-26 06:54:45.000000000 -0700
+++ bfd/elf64-x86-64.c	2006-05-26 06:55:31.000000000 -0700
@@ -3631,7 +3631,7 @@ static const struct bfd_elf_special_sect
 #define ELF_ARCH			    bfd_arch_i386
 #define ELF_MACHINE_CODE		    EM_X86_64
 #define ELF_MAXPAGESIZE			    0x200000
-#define ELF_MINPAGESIZE			    0x100000
+#define ELF_MINPAGESIZE			    0x1000
 
 #define elf_backend_can_gc_sections	    1
 #define elf_backend_can_refcount	    1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]