On Tue, Jan 11, 2022 at 04:07:57PM +0530, Aneesh Kumar K.V wrote: > ... > > +static int isolate_folios(struct lruvec *lruvec, struct scan_control *sc, int swappiness, > > + int *type_scanned, struct list_head *list) > > +{ > > + int i; > > + int type; > > + int scanned; > > + int tier = -1; > > + DEFINE_MIN_SEQ(lruvec); > > + > > + VM_BUG_ON(!seq_is_valid(lruvec)); > > + > > + /* > > + * Try to make the obvious choice first. When anon and file are both > > + * available from the same generation, interpret swappiness 1 as file > > + * first and 200 as anon first. > > + */ > > + if (!swappiness) > > + type = 1; > > + else if (min_seq[0] < min_seq[1]) > > + type = 0; > > + else if (swappiness == 1) > > + type = 1; > > + else if (swappiness == 200) > > + type = 0; > > + else > > + type = get_type_to_scan(lruvec, swappiness, &tier); > > + > > Wondering wether it will make it simpler to use > #define ANON 0 > #define FILE 1 > > and then > else if (min_seq[ANON] < min_seq[FILE]) > type = ANON; > > The usage of 0/1 across code do confuse I agree, and I plan to do this later because the existing code uses this convention and needs renaming too.