Re: [PATCH v11 0/6] mm / virtio: Provide support for unused page reporting

From: Nitesh Narayan Lal
Date: Thu Oct 10 2019 - 06:27:41 EST

On 10/10/19 3:36 AM, David Hildenbrand wrote:
> On 09.10.19 21:46, Nitesh Narayan Lal wrote:
>> On 10/9/19 12:35 PM, Alexander Duyck wrote:
>>> On Wed, 2019-10-09 at 11:21 -0400, Nitesh Narayan Lal wrote:
>>>> On 10/7/19 1:06 PM, Nitesh Narayan Lal wrote:
>>>> Ideally I would like to get code review for patches 3 and 4, and spend my
>>>> time addressing issues reported there. The main things I need input on is
>>>> if the solution of allowing the list iterators to be reset is good enough
>>>> to address the compaction issues that were pointed out several releases
>>>> ago or if I have to look for another solution. Also I have changed things
>>>> so that page_reporting.h was split over two files with the new one now
>>>> living in the mm/ folder. By doing that I was hoping to reduce the
>>>> exposure of the internal state of the free-lists so that essentially all
>>>> we end up providing is an interface for the notifier to be used by virtio-
>>>> balloon.
>> If everyone agrees that what you are proposing is the best way to move
>> forward then, by all means, lets go ahead with it. :)
> Sorry, i didn't get to follow the discussion, caught a cold and my body
> is still fighting with the last resistance.

I hope you feel better soon.

> Is there any rough summary on how much faster Alexanders approach is
> compared to some external tracking? For external tracking, there is a
> lot of optimization potential as far as I can read, however, I think a
> rough summary should be possible by now "how far we are off".
> Also, are there benchmarks/setups where both perform the same?

So I tried to follow up on the suggestion provided by Alexander to
recreate his setup and with the posted v12, I did observe a drop in
will-it-scale/page_fault. Specifically in the number of threads that were
launched on the nth core.

However, I did not see that degradation after making the changes which I
suggested previously on top of v12.

After those changes as per my observation, both series are introducing more or
less the same amount of degradation over an unmodified kernel.

In any case, if there are more suggestions, I am open to performing more experiments
to ensure that there is no further degradation with my series.