Skip to contentSkip to conversation

Page size

Linux-ia64 Michael Madore 4 participants 5 messages Apr 16, 2001

lore
Share & tools
lore
#0 lore raw

Someone asked me the followind two questions, and I wanted to verify before I gave an answer:

Is page size tunable at run time, and can the page size be determined at run time.

I was under the impression that page size was a build time parameter.

Signature · 3 lines
Mike Madore
Software Engineer
TurboLinux, Inc.
#1 lore raw

Mike-

You are correct, page size is a compile time constant, you cannot change it at run time.

The `getpagesize' GLIBC function returns the kernel's page size.

Quoted 17 lines · Michael Madore

Someone asked me the followind two questions, and I wanted to verify before I gave an answer:

Is page size tunable at run time, and can the page size be determined at run time.

I was under the impression that page size was a build time parameter.

Signature · 8 lines
Mike Madore
Software Engineer
TurboLinux, Inc.

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64
Signature · 4 lines
Don Dugger
"Censeo Toto nos in Kansa esse decisse." - D. Gale
[email protected]
Ph: 303/938-9838
#2 lore raw
In reply to Michael Madore
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Michael Madore

Mike> Someone asked me the followind two questions, and I wanted to Mike> verify before I gave an answer:

Mike> Is page size tunable at run time, and can the page size be Mike> determined at run time.

Mike> I was under the impression that page size was a build time Mike> parameter.

Don already answered the question as far as the status quo is concerned.

As for the future: I'd like to start playing with superpage support fairly soon (once I get some spare time on my hands... ;-). With superpages, physically contiguous regions of memory could be mapped with a single TLB entry, giving you most of the benefit of (very) large page sizes.

	--david
#3 lore raw
In reply to Michael Madore

What portion of source would I need to modify to change the memory page size?

I ran across some info stating that a current optimum page size for IA64-Linux is 16KB; any validity to this?

Are there any major side effects of changing the page size?

---------------------------
We are porting and beginning to benchmark a subset of high performance applications, are there any other recommendations for optimizing the Linux kernel, or is there a better tuned kernel available anywhere?

Thanks.

***************************************************************************

Donny Cooper                     | Direct Phone : (281) 465-1506
NEC Systems, Inc.                | Houston Metro: (281) 296-0912 x 1506
High Performance Computing Center| Fax          : (281) 465-1599
4200 Research Forest Dr, #400    | E-mail       : [email protected]
The Woodlands, TX 77381          | URL          : http://www.necservers.com

***************************************************************************

-----Original Message-----
From: [email protected] [mailto:[email protected]]On Behalf Of Don Dugger
Sent: Monday, April 16, 2001 3:16 PM
To: Michael Madore
Cc: [email protected]
Subject: Re: [Linux-ia64] Page size

Mike-

You are correct, page size is a compile time constant, you cannot change it at run time.

The `getpagesize' GLIBC function returns the kernel's page size.

Quoted 1 line · Michael Madore

Someone asked me the followind two questions, and I wanted to verify

before

Quoted 3 lines

I gave an answer:

Is page size tunable at run time, and can the page size be determined at

run

Quoted 9 lines

time.

I was under the impression that page size was a build time parameter.

--
Mike Madore
Software Engineer
TurboLinux, Inc.

Quoted 4 lines

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64

--
Don Dugger
"Censeo Toto nos in Kansa esse decisse." - D. Gale [email protected]
Ph: 303/938-9838

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64

#4 lore raw
In reply to Michael Madore

Donny-

The kernel currently supports 4K, 8K and 16K page sizes. You can select any of these page sizes from the kernel config menu's, no change to source files required. There's a patch out that allows 64K page size but that hasn't been integrated into the kernel tree yet. (32K page size is not supported by the Itanium, in case you were wondering).

We haven't done exhaustive studies to identify what is the optimal' page size yet. The problem is that larger page sizes can result is less paging but also can result in more memory being wasted. Larger page sizes can also result in more paging work' as you page in more data than you actually need. Unfortunately, the true answer will probably depend upon the bencmark you use. My intuition right now is that 4K is definitely too small and 64K is probably too large. That's why I make all of my kernels with 16K pages.

Quoted 71 lines · Donny Cooper

What portion of source would I need to modify to change the memory page size?

I ran across some info stating that a current optimum page size for IA64-Linux is 16KB; any validity to this?

Are there any major side effects of changing the page size?

---------------------------
We are porting and beginning to benchmark a subset of high performance applications, are there any other recommendations for optimizing the Linux kernel, or is there a better tuned kernel available anywhere?

Thanks.

***************************************************************************

Donny Cooper                     | Direct Phone : (281) 465-1506
NEC Systems, Inc.                | Houston Metro: (281) 296-0912 x 1506
High Performance Computing Center| Fax          : (281) 465-1599
4200 Research Forest Dr, #400    | E-mail       : [email protected]
The Woodlands, TX 77381          | URL          : http://www.necservers.com

***************************************************************************

-----Original Message-----
From: [email protected] [mailto:[email protected]]On Behalf Of Don Dugger
Sent: Monday, April 16, 2001 3:16 PM
To: Michael Madore
Cc: [email protected]
Subject: Re: [Linux-ia64] Page size

Mike-

You are correct, page size is a compile time constant, you cannot change it at run time.

The `getpagesize' GLIBC function returns the kernel's page size.

Quoted 1 line · Michael Madore

Someone asked me the followind two questions, and I wanted to verify

before

Quoted 3 lines

I gave an answer:

Is page size tunable at run time, and can the page size be determined at

run

Quoted 9 lines

time.

I was under the impression that page size was a build time parameter.

--
Mike Madore
Software Engineer
TurboLinux, Inc.

Quoted 4 lines

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64

--
Don Dugger
"Censeo Toto nos in Kansa esse decisse." - D. Gale [email protected]
Ph: 303/938-9838

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64

Signature · 4 lines
Don Dugger
"Censeo Toto nos in Kansa esse decisse." - D. Gale
[email protected]
Ph: 303/938-9838