Re: [RFC][PATCH v11 0/2] mm: Support for page hinting

From: Dave Hansen
Date: Wed Jul 10 2019 - 16:19:09 EST


On 7/10/19 12:51 PM, Nitesh Narayan Lal wrote:
> This patch series proposes an efficient mechanism for reporting free memory
> from a guest to its hypervisor. It especially enables guests with no page cache
> (e.g., nvdimm, virtio-pmem) or with small page caches (e.g., ram > disk) to
> rapidly hand back free memory to the hypervisor.
> This approach has a minimal impact on the existing core-mm infrastructure.
>
> Measurement results (measurement details appended to this email):
> *Number of 5GB guests (each touching 4GB memory) that can be launched
> without swap usage on a system with 15GB:

This sounds like a reasonable measurement, but I think you're missing a
sentence or two explaining why this test was used.

> unmodified kernel - 2, 3rd with 2.5GB

What does "3rd with 2.5GB" mean? The third gets 2.5GB before failing an
allocation and crashing?

> v11 page hinting - 6, 7th with 26MB
> v1 bubble hinting[1] - 6, 7th with 1.8GB (bubble hinting is another series
> proposed to solve the same problems)

Could you please make an effort to format things so that reviewers can
easily read them? Aligning columns and using common units would be very
helpful, for instance:

unmodified kernel - 2, 3rd with 2.50 GB
v11 page hinting - 6, 7th with 0.03 GB
v1 bubble hinting[1] - 6, 7th with 1.80 GB

See how you can scan that easily and compare between the rows?

I think you did some analysis below. But, that seems misplaced. It's
better to include the conclusion here and the details to back it up
later. As it stands, the cover letter just throws some data at a
reviewer and hopes they can make sense of it.

> *Memhog execution time (For 3 guests each of 6GB on a system with 15GB):
> unmodified kernel - Guest1:21s, Guest2:27s, Guest3:2m37s swap used = 3.7GB
> v11 page hinting - Guest1:23s, Guest2:26s, Guest3:21s swap used = 0
> v1 bubble hinting - Guest1:23, Guest2:11s, Guest3:26s swap used = 0

Again, I'm finding myself having to reformat your data just so I can
make sense of it. You also forgot the unit for Guest 1 in row 3.

unmodified - Guest1:21s, Guest2:27s, Guest3:2m37s swap used = 3.7GB

v11 hinting - Guest1:23s, Guest2:26s, Guest3:21s swap used = 0
v1 bubble - Guest1:23s, Guest2:11s, Guest3:26s swap used = 0

So, what is this supposed to show? What does it mean? Why do the
numbers vary *so* much?