Messages in this thread | | | Date | Fri, 15 May 2015 13:35:49 +0200 | From | Vlastimil Babka <> | Subject | Re: [PATCHv5 04/28] mm, thp: adjust conditions when we can reuse the page on WP fault |
| |
On 05/15/2015 01:21 PM, Kirill A. Shutemov wrote: > On Fri, May 15, 2015 at 11:15:00AM +0200, Vlastimil Babka wrote: >> On 04/23/2015 11:03 PM, Kirill A. Shutemov wrote: >>> With new refcounting we will be able map the same compound page with >>> PTEs and PMDs. It requires adjustment to conditions when we can reuse >>> the page on write-protection fault. >>> >>> For PTE fault we can't reuse the page if it's part of huge page. >>> >>> For PMD we can only reuse the page if nobody else maps the huge page or >>> it's part. We can do it by checking page_mapcount() on each sub-page, >>> but it's expensive. >>> >>> The cheaper way is to check page_count() to be equal 1: every mapcount >>> takes page reference, so this way we can guarantee, that the PMD is the >>> only mapping. >>> >>> This approach can give false negative if somebody pinned the page, but >>> that doesn't affect correctness. >>> >>> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> >>> Tested-by: Sasha Levin <sasha.levin@oracle.com> >> >> Acked-by: Vlastimil Babka <vbabka@suse.cz> >> >> So couldn't the same trick be used in Patch 1 to avoid counting individual >> oder-0 pages? > > Hm. You're right, we could. But is smaps that performance sensitive to > bother?
Well, I was nudged to optimize it when doing the shmem swap accounting changes there :) User may not care about the latency of obtaining the smaps file contents, but since it has mmap_sem locked for that, the process might care...
| |