shrink_active_list関数はactiveリストを回収します。処理の概要はactiveリストから所定のpageを抜き出します。そしてそのページをマップされているページかどうかで、activeリストかinactiveリストかに振り分けます。これらのリストはワークリスト下で行います。そしてこのactiveリストをzoneのactiveリストへ、inactiveリストをzoneのinactiveリストへ繋ぎ換えます。 if (sc->may_swap)はマップpageも回収する場合、設定されています。sc->may_swap=1で回収処理チェックcalc_reclaim_mapped関数が呼び出されます。マップされているpageを回収するにはスワップが発生するためできるものなら避けたいものです。なお回収するならreclaim_mapped=1となります。 lru_add_drain関