[lkml]   [2004]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Active Memory Defragmentation: Our implementation & problems
On Wed, 4 Feb 2004, Alok Mooley wrote:

> --- Dave Hansen <> wrote:
> > The "work until we get interrupted and restart if
> > something changes
> > state" approach is very, very common. Can you give
> > some more examples
> > of just how a page fault would ruin the defrag
> > process?
> >
> What I mean to say is that if we have identified some
> pages for movement, & we get preempted, the pages
> identified as movable may not remain movable any more
> when we are rescheduled. We are left with the task of
> identifying new movable pages.
> -Alok

If this is an Intel x86 machine, it is impossible for pages
to get fragmented in the first place. The hardware allows any
page, from anywhere in memory, to be concatenated into linear
virtual address space. Even the kernel address space is virtual.
The only time you need physically-adjacent pages is if you
are doing DMA that is more than a page-length at a time. The
kernel keeps a bunch of those pages around for just that

So, if you are making a "memory defragmenter", it is a CPU time-sink.
That's all.

Dick Johnson
Penguin : Linux version 2.4.24 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:00    [W:0.073 / U:3.020 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site