On 2/3/20 1:34 PM, John Hubbard wrote:
On 2/3/20 1:30 PM, Kirill A. Shutemov wrote:
On Mon, Feb 03, 2020 at 01:04:04PM -0800, John Hubbard wrote:
On 2/3/20 5:53 AM, Kirill A. Shutemov wrote:
On Fri, Jan 31, 2020 at 07:40:27PM -0800, John Hubbard wrote:
diff --git a/mm/gup.c b/mm/gup.c index c10d0d051c5b..9fe61d15fc0e 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -29,6 +29,19 @@ struct follow_page_context { unsigned int page_mask; }; +#ifdef CONFIG_DEBUG_VM
Why under CONFIG_DEBUG_VM? There's nothing about this in the cover letter.
Early on, gup_benchmark showed a really significant slowdown from using these counters. And I don't doubt that it's still the case.
I'll re-measure and add a short summary and a few numbers to the patch commit description, and to the v4 cover letter.
Looks like you'll show zeros for these counters if debug is off. It can be confusing to the user. I think these counters should go away if you don't count them.
OK, that's a good point. (And in fact, the counters==0 situation already led me astray briefly while debugging with Leon R, even. heh.) I'll remove them entirely for the !CONFIG_DEBUG_VM case.
On second thought, let me do some more careful performance testing. I don't recall now if I was just removing every possible perf slowdown item, when I made this decision. It could be that the perf is not affected, and I could just leave this feature enabled at all times, which would be nicer.
And after all, these counters were designed for pretty hot-path items. I'll report back with results...
thanks,