On Mon, Aug 19, 2024 at 10:05 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, 19 Aug 2024 19:44:25 +0800 Kairui Song <ryncsn@xxxxxxxxx> wrote: > > > --- a/mm/swapfile.c > > +++ b/mm/swapfile.c > > @@ -836,7 +836,7 @@ static unsigned long cluster_alloc_swap_entry(struct swap_info_struct *si, int o > > goto done; > > > > /* Order 0 stealing from higher order */ > > - for (int o = 1; o < PMD_ORDER; o++) { > > + for (int o = 1; o < SWAP_NR_ORDERS; o++) { > > /* > > * Clusters here have at least one usable slots and can't fail order 0 > > * allocation, but reclaim may drop si->lock and race with another user. > > OK, I got that landed in the right place, but... > > The definition of `o' within the for statement isn't typical kernel > style - I'm surprised we didn't get a warning for this - maybe things > have changed when I wasn't looking. Noted. I did use the checkpatch.pl and fixed all the warnings before I sent the patch out. The checkpatch.pl script did not complain about this. Sure I can stay away from it. BTW, I did a search on the kernel tree: $ rg 'for \(int' | wc -l 970 $ It seems pretty common in the kernel tree now. > > Also, this code makes no attempt to honor our "The preferred limit on > the length of a single line is 80 columns" objective. There's just no > reason for comment blocks to violate this. I was wondering why the checkpatch.pl did not catch this, is there any config for checkpatch.pl I should apply? I typically invoke: ./scripts/checkpatch.pl -g HEAD Let me know if there is a better way to invoke checkpatch.pl to give more warnings. Chris