public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Efficient Use of the Page Cache with 64 KB Pages
@ 2006-09-15  8:50 Sandeep Kumar
  2006-09-15  9:11 ` Peter Zijlstra
  2006-09-19 18:38 ` Christoph Lameter
  0 siblings, 2 replies; 6+ messages in thread
From: Sandeep Kumar @ 2006-09-15  8:50 UTC (permalink / raw)
  To: linux-kernel

Hey all,
I am a newbie and I just read a document with the idea for changes in
page cache management for 64 Bit machines. This has been taken from
Linux symposium 2006, ottawa.

In order for 64-bit processors to efficiently use large address spaces
while maintaining lower TLB miss rates, the Linux kernel can be
configured with base page sizes up to 64 KB. While this benefits
access to large memory segments and files, it greatly reduces the
number of smaller files that can be resident in memory at one time.
The idea proposes a change to the Linux kernel to allow file data to
be more efficiently stored in memory when the size of the file, or the
data at the end of a file, is significantly smaller than the page
size.

So, how far is this feature feasible for the linux main line kernel ?
Is, this feature already supported ?
-- 
Regards,
Sandeep





Winners expect to win in advance. Life is a self-fulfilling prophecy.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Efficient Use of the Page Cache with 64 KB Pages
  2006-09-15  8:50 Efficient Use of the Page Cache with 64 KB Pages Sandeep Kumar
@ 2006-09-15  9:11 ` Peter Zijlstra
  2006-09-15 12:34   ` Dave Kleikamp
  2006-09-19 18:38 ` Christoph Lameter
  1 sibling, 1 reply; 6+ messages in thread
From: Peter Zijlstra @ 2006-09-15  9:11 UTC (permalink / raw)
  To: Sandeep Kumar; +Cc: linux-kernel, Dave Kleikamp

On Fri, 2006-09-15 at 01:50 -0700, Sandeep Kumar wrote:
> Hey all,
> I am a newbie and I just read a document with the idea for changes in
> page cache management for 64 Bit machines. This has been taken from
> Linux symposium 2006, ottawa.
> 
> In order for 64-bit processors to efficiently use large address spaces
> while maintaining lower TLB miss rates, the Linux kernel can be
> configured with base page sizes up to 64 KB. While this benefits
> access to large memory segments and files, it greatly reduces the
> number of smaller files that can be resident in memory at one time.
> The idea proposes a change to the Linux kernel to allow file data to
> be more efficiently stored in memory when the size of the file, or the
> data at the end of a file, is significantly smaller than the page
> size.
> 
> So, how far is this feature feasible for the linux main line kernel ?

Not in the form last presented, but Dave is still working on making it
look pretty and covering more use-cases AFAIK.

But even then, it will not fix all scenarios...

> Is, this feature already supported ?

No it is not. 

In future it would be nice to add the author(s) to the CC list ;-)


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Efficient Use of the Page Cache with 64 KB Pages
  2006-09-15  9:11 ` Peter Zijlstra
@ 2006-09-15 12:34   ` Dave Kleikamp
  0 siblings, 0 replies; 6+ messages in thread
From: Dave Kleikamp @ 2006-09-15 12:34 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Sandeep Kumar, linux-kernel

On Fri, 2006-09-15 at 11:11 +0200, Peter Zijlstra wrote:
> On Fri, 2006-09-15 at 01:50 -0700, Sandeep Kumar wrote:
> > Hey all,
> > I am a newbie and I just read a document with the idea for changes in
> > page cache management for 64 Bit machines. This has been taken from
> > Linux symposium 2006, ottawa.
> > 
> > In order for 64-bit processors to efficiently use large address spaces
> > while maintaining lower TLB miss rates, the Linux kernel can be
> > configured with base page sizes up to 64 KB. While this benefits
> > access to large memory segments and files, it greatly reduces the
> > number of smaller files that can be resident in memory at one time.
> > The idea proposes a change to the Linux kernel to allow file data to
> > be more efficiently stored in memory when the size of the file, or the
> > data at the end of a file, is significantly smaller than the page
> > size.
> > 
> > So, how far is this feature feasible for the linux main line kernel ?
> 
> Not in the form last presented, but Dave is still working on making it
> look pretty and covering more use-cases AFAIK.

Right, I've been sidetracked with some other things, but I'm hoping to
get back on it soon.

> But even then, it will not fix all scenarios...

Right, you'll probably never be able to mmap to a "tail page".   I'm
actually trying a couple different approaches to compare the trade-off
between performance and intrusiveness.  On the less intrusive end, data
would be copied into a smaller buffer after it is read into a full page.
The more ambitious approach would have the smaller buffers aligned to
the sector size (and sized to the block size), and data is read, and
sometimes written, directly into them.

> > Is, this feature already supported ?
> 
> No it is not. 
> 
> In future it would be nice to add the author(s) to the CC list ;-)

Peter, thanks for cc'ing me.

Shaggy
-- 
David Kleikamp
IBM Linux Technology Center


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Efficient Use of the Page Cache with 64 KB Pages
  2006-09-15  8:50 Efficient Use of the Page Cache with 64 KB Pages Sandeep Kumar
  2006-09-15  9:11 ` Peter Zijlstra
@ 2006-09-19 18:38 ` Christoph Lameter
  2006-09-19 22:55   ` Tony Luck
  1 sibling, 1 reply; 6+ messages in thread
From: Christoph Lameter @ 2006-09-19 18:38 UTC (permalink / raw)
  To: Sandeep Kumar; +Cc: linux-kernel

On Fri, 15 Sep 2006, Sandeep Kumar wrote:

> So, how far is this feature feasible for the linux main line kernel ?
> Is, this feature already supported ?

IA64 has supported 64k page size from the beginning. Since some 
years before the end of the last decade. It is only the hardware 
limitations on IA32 that hold us back.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Efficient Use of the Page Cache with 64 KB Pages
  2006-09-19 18:38 ` Christoph Lameter
@ 2006-09-19 22:55   ` Tony Luck
  2006-09-20  4:29     ` Christoph Lameter
  0 siblings, 1 reply; 6+ messages in thread
From: Tony Luck @ 2006-09-19 22:55 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Sandeep Kumar, linux-kernel, shaggy

On 9/19/06, Christoph Lameter <clameter@sgi.com> wrote:
> IA64 has supported 64k page size from the beginning. Since some
> years before the end of the last decade. It is only the hardware
> limitations on IA32 that hold us back.

But memory usage with a 64K page size can get out of hand (especially
if you have an application that uses a lot of small files).  Dave Kleikamp's
tail pages would help make 64K page size more generally palatable.

-Tony

----
New yarn store in Sunnyvale opens October 14th. http://www.purlescenceyarns.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Efficient Use of the Page Cache with 64 KB Pages
  2006-09-19 22:55   ` Tony Luck
@ 2006-09-20  4:29     ` Christoph Lameter
  0 siblings, 0 replies; 6+ messages in thread
From: Christoph Lameter @ 2006-09-20  4:29 UTC (permalink / raw)
  To: Tony Luck; +Cc: Sandeep Kumar, linux-kernel, shaggy

On Tue, 19 Sep 2006, Tony Luck wrote:

> But memory usage with a 64K page size can get out of hand (especially
> if you have an application that uses a lot of small files).  Dave Kleikamp's
> tail pages would help make 64K page size more generally palatable.

Sure but there is no need for something like that on IA32 since the 
hardware does not support more than 4k.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-09-20  4:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-15  8:50 Efficient Use of the Page Cache with 64 KB Pages Sandeep Kumar
2006-09-15  9:11 ` Peter Zijlstra
2006-09-15 12:34   ` Dave Kleikamp
2006-09-19 18:38 ` Christoph Lameter
2006-09-19 22:55   ` Tony Luck
2006-09-20  4:29     ` Christoph Lameter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox