[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: filecache/swapcache questions [RFC] [RFT] [PATCH] kanoj-mm12-2.3.8



> 
> On Mon, 28 Jun 1999, Kanoj Sarcar wrote:
> > > well, except that kswapd itself doesn't free any memory.  it simply copies
> > > data from memory to disk.  shrink_mmap() actually does the freeing, and
> > > can do this with minimal locking, and from within regular application
> > > processes.  when a process calls shrink_mmap(), it will cause some pages
> > > to be made available to GFP.
> > 
> > The page is not really free for reallocation, unless kswapd can
> > push out the contents to disk, right? Which means, kswapd should
> > have as minimal sleep/memallocation points as possible ...
> 
> kswapd itself always uses a gfp_mask that includes GFP_IO, so nothing it
> calls will ever wait.  the I/O it schedules is asynchronous, and when
> complete, the buffer exit code in end_buffer_io_async will set the page
> flags appropriately for shrink_mmap() to come by and steal it. also, the
> buffer code will use pre-allocated buffers if gfp fails.
>

Which is why you must gurantee that kswapd can always run, and keep
as few blocking points as possible ...

Kanoj
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/