On Thu, Mar 30, 2017 at 08:53:50AM +0800, Huang, Ying wrote: > Johannes Weiner <han...@cmpxchg.org> writes: > > but there doesn't seem to be a reason to > > pass @nr_entries when we have the struct page. Why can't this function > > just check PageTransHuge() by itself? > > Because sometimes we need to charge one swap entry for a THP. Please > take a look at the original add_to_swap() implementation. For a THP, > one swap entry will be allocated and charged to the mem cgroup before > the THP is split. And I think it is not easy to change this, because we > don't want to split THP if the mem cgroup for swap exceeds its limit.
I think we do. Let's continue this discussion in the 9/9 subthread.