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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>