Re: [PATCH v1 2/6] memcg-v1: remove charge move code

David Hildenbrand
2024-10-28T10:40:28Z

On 28.10.24 11:22, David Hildenbrand wrote:
>> -
>> - pgdat = folio_pgdat(folio);
>> - from_vec = mem_cgroup_lruvec(from, pgdat);
>> - to_vec = mem_cgroup_lruvec(to, pgdat);
>> -
>> - folio_memcg_lock(folio);
>> -
>> - if (folio_test_anon(folio)) {
>> - if (folio_mapped(folio)) {
>> - __mod_lruvec_state(from_vec, NR_ANON_MAPPED, -nr_pages);
>> - __mod_lruvec_state(to_vec, NR_ANON_MAPPED, nr_pages);
>
> Good, because this code was likely wrong :) (-> partially mapped anon
> folios)

Staring at the code some more, mem_cgroup_move_charge_pte_range() refuses
PTE-mapped large folios, so that might have done the right thing.

--
Cheers,

David / dhildenb