Re: [PATCH v10 23/25] mm: add speculative page fault vmstats

From: Laurent Dufour
Date: Wed May 16 2018 - 02:10:16 EST




On 16/05/2018 04:50, Ganesh Mahendran wrote:
> 2018-04-17 22:33 GMT+08:00 Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx>:
>> Add speculative_pgfault vmstat counter to count successful speculative page
>> fault handling.
>>
>> Also fixing a minor typo in include/linux/vm_event_item.h.
>>
>> Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx>
>> ---
>> include/linux/vm_event_item.h | 3 +++
>> mm/memory.c | 1 +
>> mm/vmstat.c | 5 ++++-
>> 3 files changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h
>> index 5c7f010676a7..a240acc09684 100644
>> --- a/include/linux/vm_event_item.h
>> +++ b/include/linux/vm_event_item.h
>> @@ -111,6 +111,9 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
>> SWAP_RA,
>> SWAP_RA_HIT,
>> #endif
>> +#ifdef CONFIG_SPECULATIVE_PAGE_FAULT
>> + SPECULATIVE_PGFAULT,
>> +#endif
>> NR_VM_EVENT_ITEMS
>> };
>>
>> diff --git a/mm/memory.c b/mm/memory.c
>> index 425f07e0bf38..1cd5bc000643 100644
>> --- a/mm/memory.c
>> +++ b/mm/memory.c
>> @@ -4508,6 +4508,7 @@ int __handle_speculative_fault(struct mm_struct *mm, unsigned long address,
>> * If there is no need to retry, don't return the vma to the caller.
>> */
>> if (ret != VM_FAULT_RETRY) {
>> + count_vm_event(SPECULATIVE_PGFAULT);
>> put_vma(vmf.vma);
>> *vma = NULL;
>> }
>> diff --git a/mm/vmstat.c b/mm/vmstat.c
>> index 536332e988b8..c6b49bfa8139 100644
>> --- a/mm/vmstat.c
>> +++ b/mm/vmstat.c
>> @@ -1289,7 +1289,10 @@ const char * const vmstat_text[] = {
>> "swap_ra",
>> "swap_ra_hit",
>> #endif
>> -#endif /* CONFIG_VM_EVENTS_COUNTERS */
>> +#ifdef CONFIG_SPECULATIVE_PAGE_FAULT
>> + "speculative_pgfault"
>
> "speculative_pgfault",
> will be better. :)

Sure !

Thanks.

>
>> +#endif
>> +#endif /* CONFIG_VM_EVENT_COUNTERS */
>> };
>> #endif /* CONFIG_PROC_FS || CONFIG_SYSFS || CONFIG_NUMA */
>>
>> --
>> 2.7.4
>>
>