On Tue, May 05, 2020 at 07:55:41PM +0800, Zhen Lei wrote: > +++ b/mm/swapfile.c > @@ -177,8 +177,8 @@ static int discard_swap(struct swap_info_struct *si) > > /* Do not discard the swap header page! */ > se = first_se(si); > - start_block = (se->start_block + 1) << (PAGE_SHIFT - 9); > - nr_blocks = ((sector_t)se->nr_pages - 1) << (PAGE_SHIFT - 9); > + start_block = (se->start_block + 1) << SECTORS_PER_PAGE_SHIFT; > + nr_blocks = ((sector_t)se->nr_pages - 1) << SECTORS_PER_PAGE_SHIFT; Thinking about this some more, wouldn't this look better? start_block = page_sectors(se->start_block + 1); nr_block = page_sectors(se->nr_pages - 1);