Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx> writes: > swap_vma_readahead()'s comment is missed, just add it. > > Cc: Huang Ying <ying.huang@xxxxxxxxx> > Cc: Tim Chen <tim.c.chen@xxxxxxxxx> > Cc: Minchan Kim <minchan@xxxxxxxxxx> > Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx> > --- > mm/swap_state.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/mm/swap_state.c b/mm/swap_state.c > index 78d500e..dd8f698 100644 > --- a/mm/swap_state.c > +++ b/mm/swap_state.c > @@ -698,6 +698,23 @@ static void swap_ra_info(struct vm_fault *vmf, > pte_unmap(orig_pte); > } > > +/** > + * swap_vm_readahead - swap in pages in hope we need them soon s/swap_vm_readahead/swap_vma_readahead/ > + * @entry: swap entry of this memory > + * @gfp_mask: memory allocation flags > + * @vmf: fault information > + * > + * Returns the struct page for entry and addr, after queueing swapin. > + * > + * Primitive swap readahead code. We simply read in a few pages whoes > + * virtual addresses are around the fault address in the same vma. > + * > + * This has been extended to use the NUMA policies from the mm triggering > + * the readahead. What is this? I know you copy it from swap_cluster_readahead(), but we have only one mm for vma readahead. > + * Caller must hold down_read on the vma->vm_mm if vmf->vma is not NULL. Better to make it explicit that your are talking about mmap_sem? Best Regards, Huang, Ying > + * > + */ > static struct page *swap_vma_readahead(swp_entry_t fentry, gfp_t gfp_mask, > struct vm_fault *vmf) > {