[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <33e299b9-8596-4ae2-b291-4b067dc32001@redhat.com>
Date: Thu, 23 Oct 2025 12:13:57 +0200
From: David Hildenbrand <david@...hat.com>
To: craftfever <craftfever@...mail.cc>,
Pedro Demarchi Gomes <pedrodemargomes@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Xu Xin <xu.xin16@....com.cn>, Chengming Zhou <chengming.zhou@...ux.dev>,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5] ksm: use range-walk function to jump over holes in
scan_get_next_rmap_item
>> break;
>>
>> - folio = folio_walk_start(&fw, vma, ksm_scan.address, 0);
>> - if (folio) {
>> - if (!folio_is_zone_device(folio) &&
>> - folio_test_anon(folio)) {
>> - folio_get(folio);
>> - tmp_page = fw.page;
>> - }
>> - folio_walk_end(&fw, vma);
>> + int found;
>> +
>> + found = walk_page_range_vma(vma, ksm_scan.address,
>> + vma->vm_end,
>> + &ksm_next_page_ops,
>> + &ksm_next_page_arg);
>> +
>> + if (found > 0) {
>> + folio = ksm_next_page_arg.folio;
>> + tmp_page = ksm_next_page_arg.page;
>> + ksm_scan.address = ksm_next_page_arg.addr;
>> + } else {
>> + VM_WARN_ON_ONCE(found < 0);
>> + ksm_scan.address = vma->vm_end - PAGE_SIZE;
>> }
>>
>> if (tmp_page) {
>
> Thank you, it works magnificently, very pleasent. Very low CPU-consuming
> and effective, no crashes. Is this a final version?
If there is no further feedback, yes.
--
Cheers
David / dhildenb
Powered by blists - more mailing lists