Re: [PATCH v4 -mm] make swapin readahead skip over holes

From: Andrew Morton
Date: Wed Jan 25 2012 - 20:30:37 EST


On Wed, 25 Jan 2012 20:26:55 -0500
Rik van Riel <riel@xxxxxxxxxx> wrote:

> On 01/25/2012 08:23 PM, Andrew Morton wrote:
>
> > Just to show that I'm paying attention...
> >
> >> --- a/mm/swap_state.c
> >> +++ b/mm/swap_state.c
> >> @@ -382,25 +382,23 @@ struct page *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
> >> struct page *swapin_readahead(swp_entry_t entry, gfp_t gfp_mask,
> >> struct vm_area_struct *vma, unsigned long addr)
> >> {
> >> - int nr_pages;
> >> struct page *page;
> >> - unsigned long offset;
> >> - unsigned long end_offset;
> >> + unsigned long offset = swp_offset(entry);
> >> + unsigned long start_offset, end_offset;
> >> + unsigned long mask = (1<< page_cluster) - 1;
> >
> > This is broken for page_cluster> 31. Fix:
>
> I don't know who would want to do their swapins in chunks
> of 8GB or large at a time,

Linux MM developers ;)

> but still a good catch.
>
> Want me to send in a v5, or do you prefer to merge a -fix
> patch in your tree?

I already queued the fix, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/